温馨提示×

centos php日志为何增多

小樊
39
2026-10-14 21:31:27
栏目: 编程语言

在 CentOS 上 PHP 日志突然增多,通常不是单一原因,而是以下几类常见问题导致的。你可以按这个思路排查:


一、PHP 错误级别设置过低(最常见)

如果 php.ini 中:

error_reporting = E_ALL
display_errors = On
log_errors = On

哪怕是一个 Notice / Warning 也会被记录。

表现:

  • 日志里大量 Notice、Deprecated
  • 访问量不大但日志增长很快

解决:

error_reporting = E_ERROR | E_WARNING | E_PARSE
log_errors = On
display_errors = Off

然后重启 PHP:

systemctl restart php-fpm

二、PHP-FPM 访问/慢日志开启

如果你用的是 PHP-FPM,以下日志很容易“爆”:

1. 访问日志

access.log = /var/log/php-fpm/access.log

每一次请求都记一行。

2. 慢日志(slow log)

request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/slow.log

只要有慢请求就会写。

解决:

  • 非必要不开启 access.log
  • 慢日志只在排查性能时临时开

三、网站出现错误循环 / 异常

常见情况:

  • 数据库连接失败 → 每次请求都报错
  • 第三方接口挂了 → 疯狂重试
  • 死循环 / 异常未捕获

表现:

  • 同一错误短时间大量出现
  • 日志时间非常密集

排查:

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

看错误是否重复。


四、被爬虫 / 扫描 / 攻击

CentOS 服务器常见:

  • 恶意爬虫
  • 漏洞扫描(wp-login、phpmyadmin)
  • CC 攻击

表现:

  • 访问量异常
  • 日志随访问量同步增长

排查:

netstat -an | grep :80
tail -n 1000 access_log | awk '{print $1}' | sort | uniq -c | sort -nr

五、日志轮转(logrotate)失效

如果:

  • /etc/logrotate.d/php-fpm 配置错误
  • 日志权限不对

日志不会自动切割,看起来“越来越多”。

检查:

logrotate -d /etc/logrotate.d/php-fpm

六、cron / 命令行 PHP 脚本

很多人在 cron 里跑 PHP:

* * * * * php /path/script.php

脚本一报错,日志就疯涨。


快速自查清单 ✅

  1. 看日志内容(错误类型)
  2. 检查 php.ini 错误级别
  3. 检查 php-fpm 慢日志 / 访问日志
  4. 看是否有异常访问
  5. 确认 logrotate 是否正常

如果你愿意,可以把 一段 php 日志内容 或 php-fpm 配置 发出来,我可以直接帮你判断是哪一种原因。

0 踩