出现这类报错让我很容易抓狂,因为它不直接输出 PHP 代码错误位置。
Google 搜索了一圈,发现 500 报错可以从 PHP 报错日志找线索的。
废话不多说,我们开始排查原因:
我使用的是宝塔面板,首先在 /www/server/php/73/etc/php-fpm.conf 文件最后加上两行代码:
php_admin_value[error_log] = /www/server/php/73/var/log/php_errors.log
php_admin_flag[log_errors] = on /www/server/php/73/var/log/php_errors.log
这个日志文件如果没有被自动创建,需要执行以下命令手动创建一下:
touch /www/server/php/73/var/log/php_errors.log && chown www:www /www/server/php/73/var/log/php_errors.log
重启 php-fpm,再操作一遍 500 报错的地方。打开 /www/server/php/73/var/log/php_errors.log ,就可以看到问题出在哪儿了:
可以看到何先生的报错位置在 mrheecode.php 的第 37 行出错,再详细查看代码后修复即可。