Php 不能包括(“绝对路径”)

Php 不能包括(“绝对路径”),php,include,absolute-path,Php,Include,Absolute Path,我不明白为什么这行不通 $docRoot = getenv("DOCUMENT_ROOT"); include_once($docRoot."/conn/connection.php"); include_once($docRoot."/auth/user.php"); 它通过wamp在本地工作,但在我的实时服务器上无法工作。我试过这个: if(!include_once($docRoot."/auth/user.php")){ session_start(); $debug =

我不明白为什么这行不通

$docRoot = getenv("DOCUMENT_ROOT");
include_once($docRoot."/conn/connection.php");
include_once($docRoot."/auth/user.php");
它通过wamp在本地工作,但在我的实时服务器上无法工作。我试过这个:

if(!include_once($docRoot."/auth/user.php")){

   session_start();
   $debug = array();
   $debug["docRoot"] = $docRoot;
   $debug["inc_path"] = $docRoot."/auth/user.php";
   $debug["file_exists"] = file_exists($debug["inc_path"]);
   $_SESSION['DEBUG'] = $debug;

   // exit
   header("Location:debug.php"); 
   exit(); 
}
调试页面只是回显该数组,它显示了正确的绝对路径,并指示该文件确实存在。那么,为什么“一次包含”不起作用呢?MediaTemple服务器上的服务器a DV帐户根本没有配置,所以我想知道是否有apache或php设置困扰着我


归根结底,这里我想要的是一种引用文件的方式,如果我移动该文件,或者将其包含在另一个文件中,任何东西都不会损坏。有什么想法吗?

在调试过程中,您可以尝试的是可读的$docRoot./conn/connection.php。即使文件没有可读权限,file_exists函数也将返回true


如果您收到错误代码,我们可能能够提供更多有关出错原因的信息。

启用错误报告功能。事实证明,另一个文件中的一个包含内容破坏了此页面,直到打开错误报告,我才能够跟踪到这一点


顺便说一句,有问题的include在filepath includedir/file.ext中缺少一个前导斜杠;它在我的本地wamp设置上工作,在linux服务器上中断。

您会遇到什么错误?是否打开了错误报告?路径可能是正确的,但您的PHP运行时可能会打开安全模式,这可能会重写包含路径以将其限制在某些区域。我很想用服务器的调试输出更新您的问题。i、 e:向我们显示$debug的vardump。@Pekka-如果我不重定向到调试页面,我将找不到远程服务器或文件。@Marc-啊哈。。看起来我的服务器正在安全模式下运行。我真的不喜欢摆弄这些东西,所以我没有碰它。。