温馨提示×

centos php日志怎么过滤

小樊
43
2026-09-27 06:55:01
栏目: 编程语言

在 CentOS 上,PHP 日志的“过滤”通常分几种场景。下面按最常见用法给你讲清楚,你可以按需取用。


一、先确认 PHP 日志在哪

1. 看 php.ini 配置

php --ini

或

php -i | grep error_log

常见位置:

  • /var/log/php-fpm/error.log(PHP-FPM)
  • /var/log/httpd/error_log(Apache)
  • /var/log/nginx/error.log(Nginx + PHP-FPM)
  • 应用自定义日志(如 Laravel:storage/logs/laravel.log)

二、用命令行实时过滤日志(最常用)

1. 只看 PHP 错误

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

2. 过滤某个关键词(如 user、SQL)

grep "SQL" /var/log/php-fpm/error.log

3. 排除某些内容(反向过滤)

grep -v "Notice" /var/log/php-fpm/error.log

4. 只看某个时间段的日志

sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' /var/log/php-fpm/error.log

三、按“错误级别”过滤(PHP 层面)

php.ini 控制记录什么

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
log_errors = On
error_log = /var/log/php/php_errors.log

重启服务:

systemctl restart php-fpm

四、按“文件 / 接口”过滤(应用层)

Laravel 示例

grep "api/login" storage/logs/laravel.log

只显示某用户相关日志

grep "user_id=123" storage/logs/laravel.log

五、用 journalctl(如果是 systemd)

journalctl -u php-fpm -f
journalctl -u php-fpm | grep error

六、进阶:日志分析工具(可选)

  • awk 统计错误次数
awk '/PHP Fatal error/ {count++} END {print count}' php_errors.log
  • 工具推荐:
    • goaccess
    • lnav
    • multitail

七、常见需求对照表

需求 命令示例
实时看错误 `tail -f log
忽略 Notice grep -v Notice log
只看 Fatal grep "Fatal error" log
看某接口 grep "order/create" log

如果你能告诉我:

  • 用的是 Apache / Nginx / PHP-FPM
  • 日志路径
  • 想“过滤什么”(错误级别 / 接口 / 用户)

我可以直接给你精准命令。

0 踩