运行起来没有问题,但在 EC2 上运行系统更新后,我注意到出现了以下错误,无论我做什么都无法解决这个问题。它似乎没有向上移动目录,而是尝试访问“../../”作为文件路径的一部分,而不是向上遍历两个目录。
我想要的文件位于此处
/var/www/html/site/app/data/myFile.php
我的索引文件位于此处:/var/www/html/site/public/rest/index.php
require __DIR__ . '/../../app/data/myFile.php';
错误
Fatal error: require(): Failed opening required '/var/www/html/site/public/rest/../../app/data/myFile.php' (include_path='.:/usr/share/pear:/usr/share/php')
答案1
由于我的声誉(1 分),我无法发表评论,但可能有两个原因:
- 检查是否
require "/var/www/html/site/app/data/myFile.php";
有效。如果不行,请检查 的所有者/var/www/html/site/app/data
(及其所有内容)是否是运行服务器 Web 的用户(运行并查看、或top
对应的用户名)。apache2
apachectl
httpd
- 尝试执行
print __DIR__;
以检查它是否正确,并最终按照 Stackoverlfow 上发布的这个问题进行操作:https://stackoverflow.com/questions/31654069/wrong-dir-magic-constant-value。它没有答案但是有一些有趣的提示。