抱歉,标题有点令人困惑,我正在努力理解这个错误。
我有一个 php 文件,放在类似的文件夹中site.com/src/app/index.php
,该site.com
文件夹位于/var/www/html/
运行 Nginx 和 PHP-FPM 的 CentOs 6.5 中。
因此,问题是,每当我使用任何路径函数和常量(如__DIR__
,,getcwd()
)时realpath()
,index.php
我都会期望完整路径为
/var/www/html/site.com/src/app/
但是,只site.com/src/app/
返回。就好像 php/nginx 不知道var/www/html/
文件夹一样。
我甚至去了app/
目录并能够使用获取完整路径sudo pwd
,但由于某种原因,php 没有读取它。
我想知道为什么会发生这种情况,以及如何解决它?
答案1
根据我在您链接的 Digital Ocean 文档中看到的示例配置,我怀疑您的问题出在以下几行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
或者,更确切地说,是由于父块中缺少或不正确的根指令。不过,我不确定在这种情况下您会看到这种行为...我觉得它会给出错误,而不是运行脚本并得到错误的结果,但我对 nginx 的经验并不多。
如果您仍然不确定如何继续,请添加 nginx 和 php-fpm 配置。