温馨提示×

ubuntu php日志怎样监控

小樊
38
2026-09-21 17:45:59
栏目: 编程语言

在 Ubuntu 上监控 PHP 日志,通常有查看错误日志、实时跟踪日志、集中监控、以及通过工具告警几种方式。下面按常见场景给你一个实用指南。


一、先确认 PHP 日志在哪里

1. 查看 PHP 错误日志位置

php --ini

或

php -i | grep error_log

常见位置:

  • /var/log/php/php-error.log
  • /var/log/apache2/error.log(Apache + mod_php)
  • /var/log/nginx/error.log(Nginx + PHP-FPM)
  • PHP-FPM:/var/log/php-fpm.log 或 /var/log/php*/fpm.log

2. php.ini 中确认

log_errors = On
error_log = /var/log/php/php-error.log

修改后重启:

sudo systemctl restart php-fpm
# 或
sudo systemctl restart apache2

二、实时查看 PHP 日志(最常用)

1. tail 实时跟踪

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

多个日志一起看:

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

2. 只看错误

tail -f /var/log/php/php-error.log | grep -i error

三、按 Web 服务器区分监控

Apache

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

Nginx + PHP-FPM

tail -f /var/log/nginx/error.log
tail -f /var/log/php-fpm.log

四、使用日志工具监控(推荐)

1. logwatch(简单日报)

sudo apt install logwatch
sudo logwatch --detail High --service php

2. GoAccess(Web 可视化)

sudo apt install goaccess
goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED

五、自动告警(生产环境推荐)

1. 用 fail2ban 监控异常

sudo apt install fail2ban

配置 /etc/fail2ban/jail.local 监控 PHP 错误暴增。

2. 用 Prometheus + Grafana(进阶)

  • node_exporter 收集日志
  • loki 收集 PHP 日志
  • Grafana 做告警

六、开发环境快速调试

临时打开错误显示

ini_set('display_errors', 1);
error_reporting(E_ALL);

⚠️ 生产环境不要开 display_errors


七、常见坑

  • PHP-FPM 和 CLI 的 php.ini 不是同一个
  • Nginx 不显示 PHP 错误,要看 php-fpm.log
  • 日志权限问题:
sudo chown www-data:www-data /var/log/php

如果你能告诉我:

  • 用的是 Apache 还是 Nginx
  • PHP 版本
  • 是开发还是生产环境

我可以给你更精确的监控方案。

0 踩