php.ini
(路径:/etc/php/{版本号}/apache2/
或 /etc/php/{版本号}/fpm/
),搜索 error_log
配置项,获取日志路径。php -i | grep 'Loaded Configuration File' # 查看php.ini路径
grep -i "error_log" /etc/php/7.4/apache2/php.ini # 示例:搜索error_log配置
/var/log/apache2/error.log
/var/log/nginx/error.log
/var/log/php7.x-fpm.log
(7.x
替换为实际版本号)tail -f
命令动态显示最新日志。sudo tail -f /var/log/php_errors.log # 替换为实际日志路径
grep
过滤特定错误类型(如“Fatal”“Warning”)。sudo grep -i "Fatal" /var/log/php_errors.log
[10-Aug-2025 14:30:00] PHP Fatal error: Uncaught Error: Call to undefined function foo() in /var/www/index.php on line 5
10-Aug-2025 14:30:00
Fatal error
(致命错误,脚本终止)Call to undefined function foo()
(未定义函数)in /var/www/index.php on line 5
(定位到具体文件和行号)chmod
/chown
调整。awk
:提取特定字段(如时间戳、错误级别)。sudo awk '/ERROR/ {print $1, $2, $3}' /var/log/php_errors.log
logrotate
:定期切割日志,避免文件过大。phpinfo()
,查看当前PHP配置(如错误报告级别)。display_errors
,避免敏感信息泄露,仅记录日志。www-data
或对应Web用户)。通过以上步骤,可快速定位并解决Ubuntu中PHP错误日志的问题。