我有以下目录结构,文档根指向/var/www/html/public:
- /应用程序
- /应用程序/控制器
- /public(文档根目录)
我正在尝试使用以下代码来检查/public目录中的文件中是否存在文件(在本地设置中工作,但不在实时服务器上)
<?php
if (file_exists('../application/controllers/TestController.php'))
{
/* do something */
}
Apache配置文件中是否有我需要添加的内容?我不知道从这里到哪里去。
file_exists()可以在任何地方工作,它与文档根目录无关,也没有任何apache配置设置可以更改这一点。
有两个可能的问题会导致您的问题:
- 相对路径不是相对于你认为的路径。请使用绝对路径并编辑你的问题,以显示你用来检查绝对路径的代码(顺便说一句,你在评论中发布的代码有错误)
- 运行PHP的UNIX进程没有访问该文件的权限。请检查运行PHP的用户,并检查文件的权限
所以我发现的真正问题是,在我的实时服务器上,当我将文件名重命名为小写时,文件名没有改变(APIController=>APIController)。尽管更改发生在本地,但在提交代码时,我的GIT提交没有正确重命名文件。
抱歉造成混乱!