今天PHP突然报open_basedir restriction错误,改了php.ini还是报错,于是百度查了查,总结如下:

问题原因 原来LNMP1.2的防跨目录由原来在php.ini中设置 移至网站根目录下的 .user.ini 进行控制。所以要修改open_basedir的目录,得修改网站根目录下的 .user.ini

1.修改.user.ini .user.ini文件无法直接修改

如要修改,需要先执行:chattr -i /网站目录/.user.ini

修改完成后再执行:chattr +i /网站目录/.user.ini

.user.ini不需要重启一般5分钟左右生效,也可以重启一下php-fpm立即生效。

2.去除防跨目录 如果不想用防跨目录的限制:

LNMP 1.4以下,直接删除.user.ini 再重启php-fpm即可。

LNMP 1.4上 还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE “open_basedir=$document_root/:/tmp/:/proc/”; 删除,需要重启nginx。

LNMPA或LAMP 1.2上的防跨目录的设置

使用的对应apache虚拟主机配置文件里的php_admin_value open_basedir参数进行设置。

如果不需要设置可以在前面加 # 进行注释,或自行修改目录的限制。

重启apache生效。

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。