温馨提示×

ubuntu php日志怎么监控

小樊
43
2026-10-15 05:49:47
栏目: 编程语言

在 Ubuntu 上监控 PHP 日志,常见做法分为 查看错误日志、实时跟踪日志、以及使用工具自动监控告警。下面按实用程度给你一套方案。


一、先确认 PHP 日志在哪

1. 查看 PHP 错误日志位置

php --ini

或

php -i | grep error_log

常见位置:

  • /var/log/php/php-error.log
  • /var/log/apache2/error.log(Apache)
  • /var/log/nginx/error.log(Nginx + PHP-FPM)

2. PHP-FPM 日志

ls /var/log/php*/ 
# 如 /var/log/php8.1-fpm.log

二、实时查看 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

三、按服务监控(Apache / Nginx)

Apache

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

Nginx + PHP-FPM

tail -f /var/log/nginx/error.log
tail -f /var/log/php8.1-fpm.log

四、用系统工具做“自动监控”

1. logwatch(每日邮件汇总)

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

2. fail2ban(防异常访问 / 报错暴增)

sudo apt install fail2ban

配置示例(监控 PHP 错误):

[php-errors]
enabled = true
logpath = /var/log/php/php-error.log
maxretry = 10

3. monit(进程 + 日志监控)

sudo apt install monit

可监控 PHP-FPM 是否存活、日志异常等。


五、开发 / 运维进阶方案

1. 用 supervisor 管理 PHP 脚本日志

[program:php-worker]
command=php /var/www/app/worker.php
stdout_logfile=/var/log/php/worker.log

2. 集中日志(生产推荐)

  • ELK(Elasticsearch + Logstash + Kibana)
  • Grafana Loki
  • Fluent Bit

适合多台服务器统一监控 PHP 日志。


六、PHP 自身配置建议(很重要)

php.ini:

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

改完重启:

sudo systemctl restart php8.1-fpm

七、常见排查命令合集

# 查看最近 100 行
tail -n 100 /var/log/php/php-error.log

# 按时间查
grep "2026-01-21" /var/log/php/php-error.log

# 查 Fatal Error
grep -i "fatal" /var/log/php/php-error.log

如果你是:

  • ✅ 本地开发
  • ✅ 单台服务器
  • ✅ 生产集群
  • ✅ Docker / Laravel / ThinkPHP

可以告诉我具体场景,我可以给你更精准的监控方案。

0 踩