温馨提示×

怎样监控ubuntu php日志

小樊
40
2026-10-18 04:38:53
栏目: 编程语言

在 Ubuntu 上监控 PHP 日志,常见做法取决于 PHP 的运行方式(CLI / PHP-FPM / Apache mod_php) 以及你想要的 实时监控程度。下面按场景给你一套实用方案。


一、先确认 PHP 日志在哪里

1. PHP-FPM(最常见,Nginx + PHP)

日志通常在:

/var/log/php*/fpm.log
/var/log/php*/fpm-www.log

PHP 错误日志(php.ini 中配置):

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

查看 php.ini 位置:

php --ini
# 或
php-fpm -i | grep error_log

2. Apache + mod_php

错误一般写在 Apache 日志中:

/var/log/apache2/error.log

3. CLI 模式 PHP

CLI 一般:

  • 不写日志
  • 或写到 error_log 指定的文件

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

1. tail 实时查看

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

多个文件一起看:

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

2. 查看 PHP-FPM 日志

tail -f /var/log/php*/fpm.log

三、使用系统工具监控

1. journalctl(PHP-FPM / Apache)

# PHP-FPM
journalctl -u php8.1-fpm -f

# Apache
journalctl -u apache2 -f

2. multitail(多窗口监控)

安装:

sudo apt install multitail

使用:

multitail /var/log/php/php-error.log /var/log/nginx/error.log

四、按关键字监控(错误/警告)

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

或高亮:

tail -f /var/log/php/php-error.log | grep --color=auto -i 'fatal\|error\|warning'

五、自动报警(进阶)

1. 使用 logwatch(每日邮件)

sudo apt install logwatch

2. 使用 fail2ban(防攻击)

适合监控 PHP 报错暴露的扫描行为:

sudo apt install fail2ban

3. Prometheus + Grafana(生产环境)

  • node_exporter
  • 自定义日志 exporter
  • 适合大规模服务

六、常见排错建议

  1. 日志没内容?

    • 检查 php.ini
      log_errors = On
      error_reporting = E_ALL
      
    • 重启服务:
      sudo systemctl restart php8.1-fpm
      
  2. 权限问题

    sudo chown www-data:www-data /var/log/php
    

七、推荐组合(实用)

✅ 开发环境:

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

✅ 生产环境:

journalctl -u php8.1-fpm -f
+ logwatch 每日报告

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Nginx / Apache
  • 是否生产环境

我可以给你一套精准配置方案。

0 踩