宝塔面板出现“open_basedir restriction in effect. ”的解决方法


Posted in PHP onMarch 14, 2021

1、只需要在相应的网站目录,勾选掉防跨站攻击(open_basedir)即可!

2、必须重启PHP;

宝塔面板出现“open_basedir restriction in effect. ”的解决方法

 

LNMP/LAMP 出现“open_basedir restriction in effect. ”的解决方法

我今天也遇到了这样的情况,我用的是LNMP一键安装包+Thinkphp,然后根目录绑定到的是public目录下,再访问首页的时候出现500错误,后来去 php.ini 把 display_errors 设置为 on 后,报的错误和文章讲的一模一样;

 

我的解决方法其实和文章也差不多,原理都是一样的:

 

我是看到LNMP官方提供的“防跨目录设置”方法,如下:

LNMP 1.1及之前的版本使用php.ini里面,open_basedir设置。

LNMP 1.2及更高版本防跨目录功能使用.user.ini,该文件在网站根目录下,可以修改.user.ini 里面的open_basedir的值来设置限制访问的目录或删除来移除防跨目录的设置。

.user.ini文件无法直接修改,如要修或删除需要先执行:chattr -i /网站目录/.user.ini

可以使用winscp文件管理、vim编辑器或nano编辑器进行修改。

删除的话rm -f /网站目录/.user.ini 就可以。

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

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

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

 

LNMP 1.4上如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE “open_basedir=$document_root/:/tmp/:/proc/”; 在该行行前添加 # 或删除行,需要重启nginx。

LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目录下的 ./remove_open_basedir_restriction.sh 进行移除。

在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。

LNMPA或LAMP 模式1.2版本以上的防跨目录的设置使用的对应apache虚拟主机配置文件(lnmp管理工具添加的话文件是 /usr/local/apache/conf/vhost/域名.conf )里的php_admin_value open_basedir参数进行设置。如果不需要设置可以在前面加 # 进行注释,或自行修改目录的限制。

重启apache生效。

PHP 相关文章推荐
来自PHP.NET的入门教程
Oct 09 PHP
上传多个文件的PHP脚本
Nov 26 PHP
Zend Guard一些常见问题解答
Sep 11 PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
php实现留言板功能
Mar 05 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 #PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 14 #PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 #PHP
imagettftext() 失效,不起作用
Mar 09 #PHP
PHP高并发和大流量解决方案整理
Mar 09 #PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
Mar 09 #PHP
PHP 出现 http500 错误的解决方法
Mar 09 #PHP
You might like
PHP 上传文件的方法(类)
2009/07/30 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
JavaScript 原型学习总结
2010/10/29 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
使用Python更换外网IP的方法
2018/07/09 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
质量保证书范本
2014/04/29 职场文书
质量整改报告范文
2014/11/08 职场文书
2015年公司新年寄语
2014/12/08 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang