PHP报500错误别慌:3步定位原因,新手也能快速修好

4小时前 (23:35:00)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值3465
  • 级别管理员
  • 主题693
  • 回复0
楼主

很多新手用PHP程序,碰到"500 Internal Server Error",直接慌了,其实500错误是PHP代码报错,不是服务器挂了,今天说一下怎么快速定位500错误。

第一步:打开错误显示

默认情况下,PHP出错不会显示具体原因,只返回500错误,你什么都看不到。去宝塔的PHP设置里,把"display_errors"打开,错误显示开,然后刷新页面,具体报错信息就会显示出来。

或者直接在报错的PHP文件最前面加两行代码:
ini_set('display_errors',1);
error_reporting(E_ALL);
刷新页面,哪一行错了、什么错,写得明明白白,比瞎猜快多了。

常见的500原因

最常见的是语法错误,比如少了分号、括号不配对,错误提示会直接告诉你哪个文件第几行,跳过去看一眼,90%都是这种低级错误。

然后是文件权限不对,PHP没有权限读或者写文件,把目录权限改成755,文件644,所有者改成www,就解决了。

还有是PHP版本不兼容,老程序在PHP8.2上跑,很多函数不兼容,直接500,把PHP版本切到7.4,一般就正常了。

看PHP错误日志

如果不想改代码,直接看PHP错误日志,路径在/www/server/php/你的版本/var/log/php-fpm.log,最后几行就是最新的报错,写得很清楚哪个文件哪一行出了什么问题。

我现在碰到500,先翻日志,30秒就能找到原因,根本不用慌。

注意事项

网站上线之后,记得把错误显示关掉,不然访客看到一堆报错信息,既不专业,还暴露服务器路径,有安全风险。调试的时候打开,调试完关掉,靠日志看错误就行。

500错误真的不可怕,打开错误提示,按照提示找原因,大部分都是小问题,几分钟就能修好。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/35.html

0
回帖

PHP报500错误别慌:3步定位原因,新手也能快速修好 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息