最近迁移服务器,终于用上了php7。
在把yii2的程序恢复的时候遇到了一堆坑,一开始看不到错误信息,原因是lnmp把默认把输出错误信息的功能屏蔽了。当然也没有打开错误日志的功能。我修改了设置,终于看到错误问题,是由设置了open_basedir,导致php的目录权限收到限制,而yii2的开放目录又恰恰与真正的工作目录不同,所以出现这个奇怪的问题,命令行下yii2可以正常工作,web端出错。php.ini中没有设置open_basedir。在nginx配置里有一行:
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
把这行注释掉或者改成
fastcgi_param PHP_ADMIN_VALUE "open_basedir=NULL";
即可
这个问题可能仅仅存在于lnmp一键安装包安装的服务器中。