温馨提示×

Ubuntu下PHP错误怎么查

小樊
44
2026-07-28 00:57:16
栏目: 编程语言

Ubuntu 下查看 PHP 错误,常见有几种方式,取决于你是 命令行 PHP 还是 PHP + Web(Apache / Nginx),以及错误日志配置。


一、先看 PHP 错误日志配置

先确认 PHP 的错误日志在哪里:

php -i | grep "error_log"
php -i | grep "log_errors"
php -i | grep "display_errors"

常见输出:

display_errors => Off
log_errors => On
error_log => /var/log/php/error.log

二、常见 PHP 错误日志位置(重点)

1️⃣ PHP-FPM(最常见,Nginx/Apache 都用)

/var/log/php/error.log
/var/log/php8.x-fpm.log

或:

/var/log/php8.1-fpm.log
/var/log/php8.2-fpm.log

查看:

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

2️⃣ Apache + mod_php

/var/log/apache2/error.log

查看:

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

3️⃣ Nginx + PHP-FPM

Nginx 本身错误:

/var/log/nginx/error.log

PHP 错误仍看 PHP-FPM 日志。


4️⃣ 命令行 PHP(CLI)

CLI 通常 不写日志,直接输出到终端。

临时开启:

php -d display_errors=1 your_script.php

三、如果日志没有 / 找不到

✅ 手动指定 PHP 错误日志

编辑 php.ini(先找路径):

php --ini

编辑:

sudo nano /etc/php/8.1/fpm/php.ini

设置:

display_errors = Off
log_errors = On
error_log = /var/log/php/php_error.log

创建日志文件:

sudo mkdir -p /var/log/php
sudo touch /var/log/php/php_error.log
sudo chown www-data:www-data /var/log/php/php_error.log

重启 PHP-FPM:

sudo systemctl restart php8.1-fpm

四、临时调试(开发环境推荐)

在 PHP 文件顶部加:

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

⚠️ 生产环境不要开启 display_errors


五、快速排查流程(推荐)

# 1. 看 PHP-FPM 日志
tail -f /var/log/php*.log

# 2. 看 Web 服务日志
tail -f /var/log/nginx/error.log
tail -f /var/log/apache2/error.log

# 3. 看 PHP 配置
php -i | grep error

六、常见错误示例

  • PHP Fatal error: Uncaught Error
  • Permission denied
  • Allowed memory size exhausted
  • Maximum execution time exceeded

如果你愿意,可以把:

  • Ubuntu 版本
  • PHP 版本
  • Apache / Nginx
  • 具体报错信息

发给我,我可以帮你精准定位

0