众所周知 500 错误是服务器内部错误,一般发生在 PHP 代码出现错误的时候。一般没有任何返回值,更没说能正常显示页面了。然而,我今天在开发新的项目的时候,把之前的代码复制一份,并上传到服务器。虽然有返回值,页面也能访问,但是却一直有 500 错误的提醒。

错误

经过排查后发现,在配置文件 config.php 中把 app_debug 项设置为 false,500 错误消失。但是 app_debug 项肯定不会是“罪魁祸首”,思索半天,突然想到唯一的可能性,就是权限的问题。因为上传所使用的账户为 root ,而 apache 的运行用户为 www 所以就会发现权限引起的各种难解决的问题。

chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;

将文件用户改为 www 并赋予对应的权限,问题解决!

权限

标签: ThinkPHP5

添加新评论