在 Ubuntu 上监控 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)/var/log/php-fpm.log 或 /var/log/php*/fpm.loglog_errors = On
error_log = /var/log/php/php-error.log
修改后重启:
sudo systemctl restart php-fpm
# 或
sudo systemctl restart apache2
tail -f /var/log/php/php-error.log
多个日志一起看:
tail -f /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/apache2/error.log
tail -f /var/log/nginx/error.log
tail -f /var/log/php-fpm.log
sudo apt install logwatch
sudo logwatch --detail High --service php
sudo apt install goaccess
goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED
sudo apt install fail2ban
配置 /etc/fail2ban/jail.local 监控 PHP 错误暴增。
node_exporter 收集日志loki 收集 PHP 日志ini_set('display_errors', 1);
error_reporting(E_ALL);
⚠️ 生产环境不要开 display_errors
php.ini 不是同一个php-fpm.logsudo chown www-data:www-data /var/log/php
如果你能告诉我:
我可以给你更精确的监控方案。