温馨提示×

centos php日志怎样过滤

小樊
52
2026-09-30 06:21:19
栏目: 编程语言

在 CentOS 上“过滤 PHP 日志”通常分几种场景,下面按最常见用法给你说明,基本都能直接用。


一、PHP 错误日志在哪里(先确认)

CentOS 下 PHP 日志一般在:

  1. php.ini 配置的位置
php -i | grep error_log

常见路径:

/var/log/php-fpm/error.log
/var/log/php_errors.log
  1. PHP-FPM 日志
/var/log/php-fpm/error.log
/var/log/php-fpm/www-error.log
  1. Nginx / Apache 错误日志(含 PHP 报错)
/var/log/nginx/error.log
/var/log/httpd/error_log

二、实时查看并过滤(最常用)

1️⃣ 只看 PHP 错误

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

2️⃣ 过滤某个关键词(如某个接口或文件)

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

3️⃣ 排除某些无关日志

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

三、从历史日志中过滤

1️⃣ 查找某一天的 PHP 错误

grep "2026-01-21" /var/log/php-fpm/error.log | grep -i error

2️⃣ 只看 Fatal / Warning

grep -E "Fatal error|Warning" /var/log/php-fpm/error.log

3️⃣ 按时间范围过滤

awk '$1 >= "2026-01-21" && $1 <= "2026-01-22"' /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_errors.log

重启 PHP:

systemctl restart php-fpm

五、用 journalctl(CentOS 7+)

如果 PHP 日志走 systemd:

journalctl -u php-fpm -f

过滤:

journalctl -u php-fpm | grep error

六、实用组合示例

查看最近 100 条 PHP 错误:

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

只看某个 IP 的请求错误(Nginx + PHP):

grep "192.168.1.100" /var/log/nginx/error.log

如果你能告诉我:

  • ✅ 用的是 PHP-FPM / Apache / Nginx
  • ✅ 日志路径
  • ✅ 想过滤什么内容(错误级别 / 接口 / 时间)

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

0 踩