温馨提示×

Ubuntu PHP错误日志如何查看

小樊
46
2025-11-14 21:59:17
栏目: 编程语言

Ubuntu 查看 PHP 错误日志

一 常见日志路径与适用场景

  • 下表汇总了不同运行环境下 PHP 错误的默认记录位置与用途,便于快速定位文件:
环境/组件 日志路径 说明
Apache + mod_php /var/log/apache2/error.log Apache 的错误日志,通常包含 PHP 解析/执行错误
Nginx + PHP-FPM /var/log/nginx/error.log Nginx 错误日志,常记录 FastCGI/PHP-FPM 相关错误
PHP-FPM 自身日志 /var/log/php-fpm.log/var/log/php7.x-fpm.log PHP-FPM 进程日志,具体文件名含 PHP 版本号
自定义日志 php.inierror_log 指定 项目或运维自定义的错误日志路径
  • 注:路径中的 7.x 需替换为你的实际 PHP 版本号(如 7.48.18.3)。

二 快速定位日志文件位置

  • 通过 php.ini 查找 error_log
    • 查看已加载的配置文件:php -i | grep ‘Loaded Configuration File’
    • 在对应 SAPI 配置中搜索 error_log(Apache 与 FPM 可能不同):
      • grep -i error_log /etc/php/版本号/apache2/php.ini
      • grep -i error_log /etc/php/版本号/fpm/php.ini
  • 若为自定义路径,直接以 php.ini 中的 error_log 为准。

三 查看与分析日志的常用命令

  • 实时查看日志尾部(最常用)
    • Apache:sudo tail -f /var/log/apache2/error.log
    • Nginx:sudo tail -f /var/log/nginx/error.log
    • PHP-FPM:sudo tail -f /var/log/php7.x-fpm.log
  • 检索关键字(如“error”、“fatal”)
    • grep -i “error” /var/log/php7.x-fpm.log
  • 使用编辑器查看
    • sudo nano /var/log/apache2/error.log 或 sudo vim /var/log/php7.x-fpm.log
  • 日志格式要点
    • 常见包含:时间戳错误级别错误消息堆栈跟踪,可据此定位到具体文件与行号。

四 确保错误日志生效的配置与排错

  • 在 php.ini 中开启并记录到指定文件
    • log_errors = On
    • error_log = /var/log/php_errors.log
    • 生产环境建议:display_errors = Off(避免泄露敏感信息)
  • 使配置生效
    • Apache:sudo systemctl restart apache2
    • PHP-FPM:sudo systemctl restart php7.x-fpm
  • 若仍无日志
    • 确认 error_log 路径可写(必要时创建并设置权限:sudo touch /var/log/php_errors.log && sudo chown www-data:www-data /var/log/php_errors.log)
    • 确认 PHP-FPM 池配置(如 www.conf)未单独设置不同的 error_log
    • 再次用 php -i | grep error_log 与 grep -i error_log 检查实际生效的配置。

0