宝塔面板出现“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 相关文章推荐
dedecms模版制作使用方法
Apr 03 PHP
深入理解PHP原理之异常机制
Aug 21 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
php实现webservice实例
Nov 06 PHP
Symfony的安装和配置方法
Mar 17 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
laravel 获取某个查询的查询SQL语句方法
Oct 12 PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 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中$this->含义分析
2009/11/29 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
PHP常用的三种设计模式
2017/02/17 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
IE bug table元素的innerHTML
2010/01/11 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
在Vue 中使用Typescript的示例代码
2018/09/10 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
2020/04/11 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
详解python实现线程安全的单例模式
2018/03/05 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
python3 简单实现组合设计模式
2020/07/02 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
linux面试题参考答案(9)
2015/01/07 面试题
构造方法和其他方法的区别
2016/04/26 面试题
企业管理毕业生求职信
2014/03/11 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
基于Python实现射击小游戏的制作
2022/04/06 Python
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js