温馨提示×

怎么监控ubuntu php日志

小樊
40
2026-10-06 10:41:39
栏目: 编程语言

在 Ubuntu 上“监控 PHP 日志”通常分为 定位日志文件 → 实时查看 → 长期监控/告警 几个层次。下面按常见场景给你一套实用方案。


一、先找到 PHP 日志在哪里

1. PHP 自身错误日志

查看 php.ini:

php --ini

常见位置:

sudo vim /etc/php/8.1/cli/php.ini
sudo vim /etc/php/8.1/fpm/php.ini

关注:

log_errors = On
error_log = /var/log/php/php_errors.log

(没有就手动建并赋权)


2. PHP-FPM 日志(Web 场景最常见)

/var/log/php8.1-fpm.log

或:

/var/log/php-fpm/error.log

3. Web 服务器日志(Apache / Nginx)

  • Apache:
    /var/log/apache2/error.log
    
  • Nginx:
    /var/log/nginx/error.log
    

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

1. tail 实时监听

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

多文件同时看:

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

2. 过滤关键信息

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

三、系统级日志监控(推荐)

使用 journalctl(PHP-FPM / systemd)

journalctl -u php8.1-fpm -f

四、图形化 / 高级监控方案

1. logrotate(防止日志爆炸)

Ubuntu 默认已配置:

/etc/logrotate.d/php-fpm

2. 用 lnav(非常好用的日志工具)

sudo apt install lnav
lnav /var/log/php/php_errors.log

支持:

  • 高亮
  • 多文件
  • 时间线

3. 生产环境推荐组合

  • ELK / Grafana Loki
  • Promtail + Loki + Grafana
  • Fail2ban(防 PHP 报错暴露被扫)

五、PHP 代码层监控(开发调试)

error_log("debug info", 3, "/var/log/php/custom.log");

或:

ini_set('display_errors', 0);
ini_set('log_errors', 1);

六、快速排查清单(实用)

# PHP 错误
tail -f /var/log/php/php_errors.log

# PHP-FPM
tail -f /var/log/php8.1-fpm.log

# Nginx
tail -f /var/log/nginx/error.log

# 系统
journalctl -u php8.1-fpm -f

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

  • 你用的是 Apache 还是 Nginx
  • CLI 还是 Web PHP
  • 是想 开发调试 还是 生产监控

我可以直接给你一套“照抄可用”的配置。

0 踩