PHP file_exists不能在文档根目录之外工作

我有以下目录结构,其中文档根指向/ var / www / html / public:

  • /应用
  • /应用/控制器
  • / public(Document Root)

我正在尝试使用下面的代码来检查/ public目录中的文件是否存在文件(工作在本地安装,而不是在活动服务器上)

<?php if (file_exists('../application/controllers/TestController.php')) { /* do something */ } 

在我需要添加的Apacheconfiguration文件中是否有某些东西? 我不知道该从哪里出发。

file_exists()将在任何地方工作,它与文档根没有任何关系,并且没有可以改变这个的apache配置设置。

有两个可能的问题可能会导致您的问题:

  • 相对的路径与你认为的不相关。 请使用绝对路径并编辑您的问题,以显示您用于检查绝对路径的代码(您在注释中发布的代码出错了)
  • 运行PHP的UNIX进程没有访问该文件的权限。 请检查PHP正在运行的用户,并检查文件的权限。

所以我发现真正的问题是,在我的活服务器上,当我将其重命名为小写(APIController => ApiController)时,文件名没有改变。 即使更改发生在本地,我的GIT提交没有正确地重命名代码提交时的文件。

对困惑感到抱歉!