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:00Fatal 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错误日志的问题。