改了php.ini中的open_basedir仍报错open_basedir restriction in effect

报错如下:
[error] 9342#0: *1 FastCGI sent in stderr: "PHP message: PHP Warning : open_basedir restriction in effect. File(/index.php) is not within the allowed path(s): (/wwwroot/public/:/tmp/:/proc/) ... on line 31。
(环境 lnmp1.2及以上 LAMP 1.2以上)

解决办法如下:


问题原因:


原来LNMP1.2的防跨目录由原来在php.ini中设置 移至网站根目录下的 .user.ini 进行控制。

所以要修改open_basedir的目录,得修改网站根目录下的 .user.ini

 

修改.user.ini:


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

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

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

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

如果要更改网站的防跨目录,必须按上述方法修改防跨目录的设置,否则肯定报错!!

 

去除防跨目录


如果不想用防跨目录的限制:

  • 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生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值