前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何解决改了php.ini中的open_basedir之后仍然报open_basedir restriction错误的问题?

如何解决改了php.ini中的open_basedir之后仍然报open_basedir restriction错误的问题?

原创
作者头像
Power
发布2023-05-27 08:18:55
5240
发布2023-05-27 08:18:55
举报
文章被收录于专栏:源码库

今天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生效。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题原因
    • 1.修改.user.ini
      • 2.去除防跨目录
      相关产品与服务
      轻量应用服务器
      轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档