报错:open_basedir()无法require外部文件的错。
原因:站点根目录为public, 要访问上一级目录下的文件,需开启外部访问权限
1、检查nginx的配置文件fastcgi.conf 是否设置了open_basedir(一般在最后一行),fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/proc/" ,其中$document_root是站点根目录,将这整行注释掉,或者改成“open_basedir=$document_root/../:/tmp/:/proc/”
2、php.ini是否设置了open_basedir配置,如果有改成正确配置
3、使用.user.ini文件设置:open_basedir=/home/wwwroot/yestar.whrango.cc:/tmp/:/proc/,注意要使用chattr +i .user.ini 将文件设置为不可修改;一个服务器使用多种php框架建议将1、2关闭,通过.user.ini设置,这样可以针对不同框架的站点进行设置,灵活性更强;如果一个服务器只有一种php框架,可以在fastcgi.conf 或者php.ini里面设置,一劳永逸
开启权限的方式有多种,最好的方式是在站点根目录下(public文件夹下)配置.user.ini文件,将“open_basedir = /home/wwwroot/xxx.com/public:/tmp/:/proc/”改成“open_basedir = /home/wwwroot/xxx.com:/tmp/:/proc/”
使用.user.ini最关键的步骤是:修改完要重启php-fpm,命令:service php-fpm restart