LNMP + Thinkphp5 部署网站遇到的问题
一、
PHP message: PHP Fatal error: require(): Failed opening required
vim /usr/local/nginx/conf/fastcgi.conf
// 找到下面这行,注释或删除即可
#fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
// 重启nginx
service nginx restart
二、
FastCGI sent in stderr: “PHP message: PHP Warning: require(): open_basedir restriction in effect.
找到 wwwroot目录下所有的.user.ini文件,然后删除
chattr -i /网站目录/.user.ini
rm -f .user.ini
重启PHP-FPM
/etc/init.d/php-fpm restart
三、
Thinkphp5的:mkdir() Permission denied
这跟文件的权限有关系,特别是自动生成的文件或者目录类的权限,linux服务器出于安全因素对于用户的权限有着严格的控制。
对于tp框架而言,自动生成的文件或者目录应该是runtime目录,所以在线部署代码的时候,开放此类目录的权限。
chmod -R 777 runtime
或
ps aux|grep nginx //查看当前的nginx进程,能够找到nginx用户是哪个(可能是www,user或者其他的)
chown -R www runtime //chown -R <nginx 用户> runtime,改变runtime所有者为nginx用户