php报错 Failed opening required open_basedir restriction
解决1:
#修改nginx配置文件(我的项目站点目录是/home/wwwroot/)
vim /usr/local/nginx/conf/fastcgi.conf
把 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
换成:fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/../:/tmp/:/proc/";
解决2:
vim /usr/local/nginx/conf/fastcgi.conf
注释一行
#fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
vim /usr/local/php/etc/php.ini
取消注释:
open_basedir (大概299行)
加上nginx配置文件中的根目录(站点baidu和qq的)
open_basedir = .:/tmp/:/home/wwwroot/baidu/index/:/home/wwwroot/baidu/admin/:/home/wwwroot/qq/index/:/home/wwwroot/qq/admin/
重启php-fpm服务
备注:
使用open_basedir可以限制程序可操作的目录和文件,提高系统安全性。但会影响I/O性能导致系统执行变慢,因此需要根据具体需求,在安全与性能上做平衡