温馨提示×

Ubuntu PHP错误怎么排查

小樊
35
2026-06-30 22:37:31
栏目: 编程语言

在 Ubuntu 上排查 PHP 错误,通常分几个层面:PHP 本身、Web 服务器、代码层面、日志。下面给你一套实用排查思路,从最常见到进阶。


一、先确认 PHP 是否正常工作

php -v

正常会显示 PHP 版本。如果报错,多半是没装或路径不对。

which php

二、查看 PHP 错误日志(最关键)

1️⃣ 找到 php.ini 路径

php --ini

常见路径:

/etc/php/8.x/cli/php.ini
/etc/php/8.x/apache2/php.ini
/etc/php/8.x/fpm/php.ini

2️⃣ 修改 php.ini(开发环境建议)

display_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log

重启服务:

sudo systemctl restart apache2
# 或
sudo systemctl restart php8.x-fpm

三、Web 服务器错误(Apache / Nginx)

✅ Apache

错误日志

tail -f /var/log/apache2/error.log

确认 PHP 模块加载

apache2ctl -M | grep php

✅ Nginx + PHP-FPM

Nginx 错误日志

tail -f /var/log/nginx/error.log

PHP-FPM 错误

tail -f /var/log/php8.x-fpm.log

常见 502 错误原因

  • PHP-FPM 没启动
systemctl status php8.x-fpm
  • sock 路径不一致

四、PHP 代码级错误排查

1️⃣ 在代码里打开错误显示(临时)

ini_set('display_errors', 1);
error_reporting(E_ALL);

2️⃣ 死活不报错?

  • 检查是否被 @ 抑制
  • 检查 try/catch 吞掉异常
  • 检查 set_exception_handler

五、权限问题(非常常见)

❌ 典型错误

  • Permission denied
  • 500 错误

✅ 解决

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

六、快速定位问题流程(推荐)

# 看错误日志
tail -f /var/log/apache2/error.log
# 或
tail -f /var/log/nginx/error.log

# 看 PHP 日志
tail -f /var/log/php_errors.log

# 看服务状态
systemctl status apache2
systemctl status php8.x-fpm

七、常见错误 & 含义对照表

现象 原因
500 错误 代码错误 / php.ini / 权限
502 PHP-FPM 未启动
空白页 display_errors 关闭
403 权限 / index 文件
404 路径错误 / rewrite

八、如果你愿意,我可以更精确帮你

你可以直接贴:

  1. Ubuntu 版本
  2. PHP 版本
  3. Apache / Nginx
  4. 具体报错内容或截图

我可以一步一步带你定位

0