温馨提示×

ubuntu php日志怎么定位错

小樊
44
2026-09-12 09:42:33
栏目: 编程语言

在 Ubuntu 上定位 PHP 错误,核心就是找到 PHP 日志在哪里 + 看日志内容。下面按常见场景给你一套实用方法。


一、先确认 PHP 错误日志在哪

1️⃣ 看 php.ini 配置

php --ini

通常能看到:

  • /etc/php/8.1/cli/php.ini
  • /etc/php/8.1/fpm/php.ini

查看日志相关配置:

grep -E "log_errors|error_log|display_errors" /etc/php/*/*/php.ini

重点关注:

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

二、不同运行方式的日志位置

✅ PHP-FPM(最常见,Nginx/Apache + PHP)

sudo tail -f /var/log/php*/php-fpm.log

或:

sudo tail -f /var/log/php/*/www-error.log

具体看版本:

ls /var/log/php/

✅ Apache + mod_php

Apache 错误日志里:

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

✅ Nginx + PHP-FPM

Nginx 错误日志:

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

PHP 错误在 PHP-FPM 日志里(上面已说)


✅ 命令行 PHP(CLI)

php your_script.php

错误直接输出到终端
或看:

tail -f /var/log/php/php_errors.log

三、快速定位错误的方法

1️⃣ 实时看日志

sudo tail -f /var/log/php/*/www-error.log

然后刷新网页 / 请求接口


2️⃣ 搜索关键字

grep -i "error" /var/log/php/*/www-error.log
grep -i "Fatal" /var/log/php/*/www-error.log

3️⃣ 临时打开错误显示(开发环境)

display_errors = On
error_reporting = E_ALL

改完重启:

sudo systemctl restart php8.1-fpm

四、常见错误类型对照

日志内容 含义
Fatal error 代码直接崩
Parse error 语法错误
Warning 不致命但有问题
Notice 不严谨写法
Allowed memory size 内存不够
Execution time 超时

五、推荐排查顺序(实战)

  1. 先确定 PHP 是 FPM 还是 CLI
  2. 找到对应 error_log
  3. tail -f 实时看
  4. 复现请求
  5. 看报错行号和文件
  6. 修代码

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Nginx / Apache
  • 是网站还是命令行脚本

我可以直接帮你精确定位该看哪个日志文件

0