宝塔面板出现“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 相关文章推荐
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
php设计模式小结
Feb 15 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
PHP扩展开发入门教程
Feb 26 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
PHP数组实例详解
Jun 26 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
php自定义函数实现JS的escape的方法示例
Jul 07 PHP
给大家分享几个常用的PHP函数
Jan 15 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP _construct()函数讲解
Feb 03 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
生成缩略图
2006/10/09 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
php语言流程控制中的主动与被动
2012/11/05 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
javascript表单正则应用
2017/02/04 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
django删除表重建的实现方法
2019/08/28 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
python空元组在all中返回结果详解
2020/12/15 Python
交通法规咨询中心工作职责
2013/11/27 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
医药销售自荐书
2014/05/29 职场文书
项目申请汇报材料
2014/08/16 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书