温馨提示×

centos php日志为何变大

小樊
35
2026-09-27 06:52:59
栏目: 编程语言

在 CentOS 上,PHP 日志变大的原因通常可以归纳为以下几类。你可以对照排查:


一、PHP 错误/警告过多(最常见)

如果代码中存在大量:

  • Notice / Warning / Deprecated
  • 未定义变量、过期函数
  • 第三方插件报错

而 php.ini 中设置了:

log_errors = On
error_reporting = E_ALL

就会导致日志迅速增长。

检查:

grep -E "PHP Notice|PHP Warning|PHP Deprecated" /var/log/php-fpm/error.log

二、PHP-FPM 日志配置不当

CentOS 常见 PHP 是通过 php-fpm 运行的:

; /etc/php-fpm.conf 或 /etc/php-fpm.d/www.conf
catch_workers_output = yes

如果开启,PHP 脚本的 echo、var_dump 也会写入日志。


三、日志未轮转(logrotate 未生效)

CentOS 默认使用 logrotate,但如果:

  • 日志路径不在默认配置中
  • 自定义了 php 日志路径
  • logrotate 服务异常

就会导致日志无限增长。

检查:

ls -lh /var/log/php*
cat /etc/logrotate.d/php-fpm

四、访问量突然增大

  • 爬虫、攻击、接口异常调用
  • 定时任务(cron)频繁执行出错

都会让错误日志暴涨。


五、PHP 程序自身写日志

很多框架(Laravel / ThinkPHP / Yii)会写:

  • storage/logs
  • runtime/log

这些不是 php.ini 日志,但也常被误认为是“PHP 日志”。


六、内存溢出 / 死循环

脚本:

  • 内存超限
  • 无限递归
  • 死循环打日志

也会瞬间撑大日志。


快速排查建议

# 查看日志大小
du -sh /var/log/php*

# 查看最近日志
tail -n 100 /var/log/php-fpm/error.log

# 统计错误类型
awk '{print $1,$2,$3}' /var/log/php-fpm/error.log | sort | uniq -c | sort -nr

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

  • PHP 运行方式(php-fpm / cli / apache)
  • 日志具体路径
  • 最近日志片段

我可以帮你精准定位是哪一类原因。

0 踩