LNMP + Thinkphp5 部署网站遇到的问题

lnmp thinkphp5
创建于:2019年11月09日 更新于:2019年11月09日

一、
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用户

转载自