【发布时间】:2014-08-09 06:27:54
【问题描述】:
我正在尝试获取我的应用程序的根目录以包含从它开始的文件.. 我用这个
include_once $_SERVER['DOCUMENT_ROOT'].'/includes/myfile.php'
它显示这个错误:
Warning: include_once(/usr/local/apache/htdocs/includes/db.php) [function.include-once]: failed to open stream: Permission denied .....etc
警告:include_once() [function.include]: 未能打开 '/usr/local/apache/htdocs/includes/myfile.php' 以包含 (include_path='.:/usr/lib/php:/usr/ local/lib/php') 在 /home/usernamehere/public_html/includes/parentfile.php 第 14 行
但是当像这样使用 $_SERVER['SCRIPT_FILENAME'] 的一部分(等于'/home/username/public_html/parentfile.php')时:
include_once '/home/username/public_html/includes/myfile.php';
它可以正常工作,没有错误。
这是服务器管理员方面的权限问题吗?或者我可以自己解决?
【问题讨论】:
-
你走过目录路径了吗?
-
没听懂,“走路”是什么意思?
-
即检查 /usr/, /usr/local/ ...的权限/所有权/组...
-
是的,我做到了,文件夹“包含”有 777 权限。
-
@Dabbas 刚刚发布了一个答案。您看到的错误消息中的详细信息很清楚。
$_SERVER['DOCUMENT_ROOT']适用于整个 Web 服务器,但不适用于每个用户public_html目录。