宝塔面板出现“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 相关文章推荐
3
Oct 09 PHP
基于empty函数的输出详解
Jun 17 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
php自定义加密与解密程序实例
Dec 31 PHP
php有效防止同一用户多次登录
Nov 19 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
PHP使用redis消息队列发布微博的方法示例
Jun 22 PHP
php和vue配合使用技巧和方法
May 09 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 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中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
php计算整个目录大小的方法
2015/06/19 PHP
Yii rules常用规则示例
2016/03/15 PHP
非常实用的php验证码类
2016/05/15 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
用JQuery 实现的自定义对话框
2007/03/24 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
react-router实现按需加载
2017/05/09 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python 第一步 hello world
2009/09/25 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
校园之星获奖感言
2014/01/29 职场文书
考博专家推荐信
2014/05/10 职场文书
团队拓展活动方案
2014/08/28 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
老乡聚会通知
2015/04/23 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
Python实现学生管理系统(面向对象版)
2021/06/24 Python
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL