宝塔面板出现“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之第十天
Oct 09 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
php通过字符串调用函数示例
Mar 02 PHP
php上传文件问题汇总
Jan 30 PHP
php实现字符串首字母大写和单词首字母大写的方法
Mar 14 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
PHP多维数组转一维数组的简单实现方法
Dec 23 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
Dec 29 PHP
9个比较实用的php代码片段
Mar 15 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 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 include任意文件或URL介绍
2014/04/29 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
Angular网络请求的封装方法
2018/05/22 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
Python使用分布式锁的代码演示示例
2018/07/30 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
python datetime处理时间小结
2020/04/16 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
iostream与iostream.h的区别
2015/01/16 面试题
质量整改报告范文
2014/11/08 职场文书
英文慰问信范文
2015/03/24 职场文书
业务员岗位职责范本
2015/04/03 职场文书
大学生实习证明
2015/06/16 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL