转移yii2项目到新服务器环境遇到无法加载php500错误,根据日志提示,最后发现是php参数open_basedir限制了夸目录导致的,而在这个参数是可以通过nginx配置传送的。
为了不影响不同项目之间的安全性,在原先enable-php.conf配置文件中加入红色一行。
if_not_empty用于判断$basedir如果为空就不传送参数。
fastcgi_param PHP_ADMIN_VALUE “open_basedir=$document_root/:/tmp/:/proc/”;
fastcgi_param PHP_ADMIN_VALUE $basedir if_not_empty;
在nginx配置server里加载配置前先设置变量即可。
set $basedir “open_basedir=$document_root/:/data/htdocs/mycar168/:/tmp/:/proc/”;
include enable-php.conf;
重启,测试没问题。
配置的优先级
“php.ini” > “nginx fastcgi fastcgi_param” > “php-fpm.conf”