open_basedir restriction in effect解决方法

时间:2018-05-22 00:57:19 类型:Linux
字号:    

在linux服务器部署站点的时候PHP报了这个错误

Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/zhuyuyun/thinkphp/start.php) is not within the allowed path(s): (/www/wwwroot/zhuyuyun/public/:/tmp/:/proc/) in /www/wwwroot/zhuangzi/public/index.php on line 20
Warning: require(/www/wwwroot/zhuangzi/thinkphp/start.php): failed to open stream: Operation not permitted in /www/wwwroot/zhuangzi/public/index.php on line 20
Fatal error: require(): Failed opening required '/www/wwwroot/zhuyuyun/public/../thinkphp/start.php' (include_path='.:/www/server/php/56/lib/php') in /www/wwwroot/zhuangzi/public/index.php on line 20

出现问题的原因:

查看问题描述以及资料,发现是php open_basedir 配置的问题,PHP不能引入其授权目录上级及其以上的文件;

一般情况下是不会出现这种问题的,之所以出现这个问题绝大多数情况是由于服务器的原因,为了安全才做了这样的限制!

fpm/fastcgi user.ini 修改方法

打开 项目根目录下找到 user.ini 文件,搜索 open_basedir,把
open_basedir=/home/wwwroot/www.zhuangzi.com/public/:/tmp/:/proc/
修改为
open_basedir=/home/wwwroot/www.zhuangzi.cn/:/tmp/:/proc/

然后重新启动 web 服务器 即可生效