在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 服务器 即可生效