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

时间:2014-10-23 03:02:47

标签: php apache file-exists document-root

我有以下目录结构,其中Document Root指向/ var / www / html / public:

  • /应用
  • /应用/控制器
  • / public(文件根目录)

我正在尝试使用以下代码来检查/ public目录中的文件中是否存在文件(在本地安装程序中工作,但在实时服务器上不存在)

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

我需要添加Apache配置文件中的某些内容吗?我不知道从哪里开始。

2 个答案:

答案 0 :(得分:2)

file_exists()可以在任何地方使用,它与文档根无关,也没有可以改变它的apache配置设置。

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

  • 相对路径与您的想法无关。请使用绝对路径并编辑您的问题以显示您用于检查绝对路径的代码(顺便说一句,您在评论中发布的代码有错误)
  • 运行PHP的UNIX进程无权访问该文件。请检查PHP运行的用户,并检查文件的权限。

答案 1 :(得分:0)

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

抱歉这个混乱!