【发布时间】:2012-09-28 01:15:37
【问题描述】:
我正在寻找切换到新主机,他们提供了这个漂亮的小“临时 url”,以便在您切换之前测试您的文件。一切都很好,花花公子。所以我复制了我所有的文件。在每一页的顶部我require 来自服务器的另一个文件存储在public_html/includes/head.php。现在无论出于何种原因, $_SERVER['document_root'] var 正在返回 /public_html/htdocs/includes/head.php (服务器上不存在)而不是 /public_html/includes/head.php (确实存在) .产生的错误如下:
Warning: require_once(/home/secure31/public_html/htdocs/includes/head.php)
[function.require-once]: failed to open stream: Permission denied in
/home/stephe80/public_html/index.php on line 6
有罪代码:
require_once($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php');
我倾向于认为这是与他们的临时 url 设置相关的错误,但我不想通过我的 DNS 传输并发现我的所有文件都已损坏。我可以将它们更改为绝对路径,但我很好奇我是否遗漏了什么。任何见解将不胜感激。谢谢!
【问题讨论】:
-
$_SERVER['DOCUMENT_ROOT']基于调用文件的位置。您是否尝试查看调用文件的$_SERVER['SCRIPT_FILENAME']和$_SERVER['PHP_SELF']的值?