温馨提示×

怎么清理CentOS PHP日志

小樊
38
2026-08-04 06:13:50
栏目: 编程语言

CentOS 上清理 PHP 日志,主要取决于你使用的是 PHP-FPM 还是 Apache + mod_php,以及日志的存放位置。下面是常见、实用的方法。


一、先看 PHP 日志在哪

1️⃣ PHP-FPM 日志(最常见)

php-fpm -i | grep 'error_log'

常见路径:

/var/log/php-fpm/error.log
/var/log/php-fpm/www-error.log

或者查看配置文件:

grep error_log /etc/php-fpm.conf
grep error_log /etc/php-fpm.d/www.conf

2️⃣ PHP 错误日志(php.ini)

php --ini | grep Loaded

然后查看:

grep error_log /etc/php.ini

常见路径:

/var/log/php_error.log

3️⃣ Apache + mod_php

/var/log/httpd/error_log

二、安全清理 PHP 日志(推荐)

✅ 方法 1:清空日志文件(不删除文件,推荐)

> /var/log/php-fpm/error.log

truncate -s 0 /var/log/php-fpm/error.log

不会影响服务运行


✅ 方法 2:删除日志文件(不推荐)

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

⚠️ 缺点:

  • PHP-FPM 可能仍然占用文件句柄
  • 需要重启服务才能重新生成日志

三、清理后是否需要重启?

✅ 清空日志(推荐)

# 不需要重启

❌ 删除日志后

systemctl restart php-fpm

四、设置日志自动清理(防止撑满磁盘)

1️⃣ 使用 logrotate(推荐)

创建或编辑:

vim /etc/logrotate.d/php-fpm

示例配置:

/var/log/php-fpm/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 0640 www-data www-data
    postrotate
        systemctl reload php-fpm > /dev/null 2>&1
    endscript
}

手动测试:

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

五、快速汇总(常用命令)

# 查看 PHP 日志位置
grep error_log /etc/php-fpm.conf /etc/php-fpm.d/*.conf /etc/php.ini

# 清空日志(推荐)
> /var/log/php-fpm/error.log

# 重启 PHP-FPM
systemctl restart php-fpm

六、⚠️ 注意事项

  • ✅ 清理前可先备份:
    cp /var/log/php-fpm/error.log /var/log/php-fpm/error.log.bak
    
  • ✅ 生产环境尽量用 清空而不是删除
  • ❌ 不要直接 rm -rf /var/log/*

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ PHP 运行方式(PHP-FPM / Apache)
  • ✅ 磁盘被占满还是定期清理

我可以给你一套最合适的具体方案

0