在 Ubuntu 上分析 PHP 日志,通常分为 找到日志位置 → 查看日志内容 → 定位问题 → 借助工具分析 几个步骤。下面按实战方式来说明。
先看 php.ini 配置:
php --ini
找到 php.ini,搜索:
log_errors = On
error_log = /var/log/php/php_errors.log
常见路径:
/var/log/php/php_errors.log/var/log/apache2/error.log(Apache)/var/log/nginx/error.log(Nginx + php-fpm)tail -f /var/log/apache2/error.log
tail -f /var/log/nginx/error.log
/var/log/php{version}-fpm.log
例如:
/var/log/php8.1-fpm.log
tail -f /var/log/php/php_errors.log
或同时看多个日志:
tail -f /var/log/nginx/error.log /var/log/php8.1-fpm.log
PHP Fatal error: Uncaught Error: Call to undefined function xxx()
✅ 函数未定义 / 文件未引入
PHP Warning: include(): Failed opening 'xxx.php'
✅ 路径错误、权限问题
PHP Notice: Undefined index: user
✅ 数组未判断直接访问(通常不影响运行)
PHP Fatal error: Allowed memory size exhausted
✅ 调整:
memory_limit = 256M
grep "PHP Fatal error" /var/log/php/php_errors.log | wc -l
grep "2026-01-21 10:" /var/log/php/php_errors.log
grep -i "mysql\|pdo\|sql" /var/log/php/php_errors.log
lessgrepawksort | uniq -clog_errors = On
error_log = /var/log/php/php_errors.log
display_errors = Off
并设置权限:
sudo chown www-data:adm /var/log/php
如果你愿意,可以:
我可以帮你 逐行分析日志。