如何修复 PHP open_basedir 限制对 nginx 服务器上子目录的访问

如何修复 PHP open_basedir 限制对 nginx 服务器上子目录的访问

我正在使用带有 php-fpm 的 nginx,我们收到很多这样的错误:

2022/01/23 12:48:13 [error] 5514#5514: *9277 FastCGI sent in stderr: "PHP message: PHP Warning:  file_exists(): open_basedir restriction in effect. File(/var/www/vhosts/evtm.dev.nick/wp-content/db.php) is not within the allowed path(s): (/var/www/vhosts/evtm.dev.nick/:/usr/lib/php/:/tmp/:/data/sucuri:/var/www/prepend/) in /var/www/vhosts/evtm.dev.nick/wp-includes/load.php on line 545" while reading response header from upstream, client: 10.0.2.33, server: dev-nick.evtm.com, request: "POST /?wc-ajax=get_refreshed_fragments HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "dev-nick.evtm.com", referrer: "https://dev-nick.evtm.com/"

它说文件/var/www/vhosts/evtm.dev.nick/wp-content/db.php不在允许的路径内/var/www/vhosts/evtm.dev.nick- 但事实显然是如此。

有什么阻止它递归工作吗?

答案1

问题出在一个symlink文件上db.php。它是从另一个实例上的另一个文件夹复制而来的,并且符号链接指向原始文件。

取消链接文件并链接到正确的文件即可解决问题。

相关内容