对不起,相当混乱的标题,我想了解这个错误。
我有一个php文件,在site.com/src/app/index.php这样的文件夹中,这个site.com文件夹放在/var/www/html/中,运行在CentOs 6.5中,运行Nginx和PHP-FPM。
所以,问题是,每当我使用任何path函数和常量像__DIR__ , getcwd() , index.php里面的realpath() ,我期望完整的path是
/var/www/html/site.com/src/app/但只有site.com/src/app/被返回。 这就好像那个php / nginx不知道var/www/html/文件夹。
我的事件去了app/目录,并能够使用sudo pwd得到完整的path,但由于某种原因,PHP不读它。
我想知道为什么会发生这种情况,以及如何解决这个问题?
基于示例configuration,我在您已链接的Digital Ocean文档中看到,我怀疑以下行是您的问题来自:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
或者相反,在其中一个父块中丢失或不正确的根指令。 然后再次,我不知道这是你会看到在这种情况下的行为…我觉得它会给出一个错误,而不是运行脚本的结果不正确,但我没有太多的经验与Nginx 。
请参阅: https : //www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#fastcgi-path-in-script-filename
如果您仍不确定如何继续,请为nginx和php-fpmconfiguration添加您的configuration。