宝塔面板出现“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中使用Oracle数据库(2)
Oct 09 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
Jun 24 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
php_pdo 预处理语句详解
Nov 21 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
php中的依赖注入实例详解
Aug 14 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
Yii 框架入口脚本示例分析
May 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设计模式之迭代器模式的深入解析
2013/06/13 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
javascript控制台详解
2015/06/25 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
layui.js实现的表单验证功能示例
2017/11/15 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
Python判断直线和矩形是否相交的方法
2015/07/14 Python
python目录与文件名操作例子
2016/08/28 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
python3实现绘制二维点图
2019/12/04 Python
Python如何实现爬取B站视频
2020/05/20 Python
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
本科毕业生的求职信范文
2013/11/20 职场文书
领导失职检讨书
2014/02/24 职场文书