Linux环境 require(): open_basedir restriction in effect 错误

PHP 投稿 78900 0 评论

在linux环境下部署php网站的时候报如下错误:

Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/.....) is not within the allowed path(s): (/www/wwwroot/..../:/tmp/:/proc/) in /www/wwwroot/..../index.php on line 20

Warning: require(/www/wwwroot/......): failed to open stream: Operation not permitted in /www/wwwroot/....... on line 16

Fatal error: require(): Failed opening required '/www/wwwroot/......' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/..... on line 16

出现此类错误往往是因为 php open_basedir 配置的问题,PHP不能引入其授权目录上级及其以上的文件;

分享以下4种解决 open_basedir 错误的方法:

1、php.ini 修改方法

把权限作用域由入口文件目录修改为网站目录

打开 php.ini 搜索 open_basedir 

open_basedir = "/home/wwwroot/feishuai.vip/web/:/tmp/:/var/tmp/:/proc/"

改为

open_basedir = "/home/wwwroot/feishuai.vip/:/tmp/:/var/tmp/:/proc/"

注意:

如果你的 php.ini 文件的 open_basedir 设置选项是被注释的或者为 none,那么你需要通过 Apache 或者 Nginx 来修改> php.ini 文件通常是在 /usr/local/php/etc 目录中,当然了这取决于你 LAMP 环境配置。

2、Apache 修改方法

打开 你的域名.conf 文件 搜索 open_basedir

php_admin_value open_basedir "/home/wwwroot/feishuai.vip/web/:/tmp/:/var/tmp/:/proc/"

改为

php_admin_value open_basedir "/home/wwwroot/feishuai.vip/:/tmp/:/var/tmp/:/proc/"

重启 apache 生效

> 域名.conf 文件通常是在 /usr/local/apache/conf 目录中,当然了这取决于你 LAMP 环境配置

3、Nginx/Tengine 修改方法

打开 你的域名.conf 文件 搜索 open_basedir 

fastcgi_param PHP_VALUE  "open_basedir=/home/wwwroot/feishuai.vip/web/:/tmp/:/proc/";

改为

fastcgi_param PHP_VALUE  "open_basedir=/home/wwwroot/feishuai.vip/:/tmp/:/proc/";

重启 Nginx 生效

> 域名.conf 文件通常是在 /usr/local/nginx/conf/vhost 目录中,当然了这取决于你 LNMP/LTMP 环境配置

4、fpm/fastcgi user.ini 方法

打开 项目根目录,找到 user.ini 文件,搜索 open_basedir 

open_basedir=/home/wwwroot/feishuai.vip/web/:/tmp/:/proc/

改为

open_basedir=/home/wwwroot/feishuai.vip/:/tmp/:/proc/

重启 web 服务器 生效 


如果是宝塔面板出现“open_basedir restriction in effect. ”,只需要在相应的网站目录,勾选掉防跨站攻击(open_basedir)即可!

image.png

编程笔记 » Linux环境 require(): open_basedir restriction in effect 错误

赞同 (69) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽