温馨提示×

ubuntu php日志怎么清理

小樊
41
2026-09-18 14:12:45
栏目: 编程语言

在 Ubuntu 上清理 PHP 日志,通常取决于你使用的 PHP 运行方式(PHP-FPM / Apache mod_php / CLI) 以及 日志位置。下面给你几种常见情况和做法。


一、先找到 PHP 日志在哪

1. PHP-FPM(最常见)

PHP-FPM 日志一般在:

/var/log/php-fpm.log
# 或
/var/log/php{版本}-fpm.log

例如:

/var/log/php8.1-fpm.log

也可以查看配置:

php-fpm8.1 -i | grep error_log

grep error_log /etc/php/8.1/fpm/php-fpm.conf

2. Apache + PHP

Apache 的 PHP 错误通常写在 Apache 日志里:

/var/log/apache2/error.log

3. Nginx + PHP-FPM

Nginx 错误日志:

/var/log/nginx/error.log

PHP 错误仍看 php-fpm 日志。

4. PHP CLI

CLI 一般默认不写日志,除非你配置了 error_log


二、清理 PHP 日志的方法

✅ 方法 1:直接清空日志(推荐)

安全、不删除文件(不影响服务)

sudo truncate -s 0 /var/log/php8.1-fpm.log

或 Apache:

sudo truncate -s 0 /var/log/apache2/error.log

✅ 方法 2:使用 logrotate(官方推荐)

Ubuntu 默认已配置 logrotate

查看配置:

cat /etc/logrotate.d/php-fpm

手动执行一次:

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

✅ 优点:

  • 自动切割
  • 自动压缩
  • 防止日志无限变大

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

sudo rm /var/log/php8.1-fpm.log

⚠️ 风险:

  • 服务可能继续写“已删除文件”
  • 需要重启 PHP-FPM 才重新生成

三、重启 PHP-FPM(如必要)

sudo systemctl restart php8.1-fpm

四、防止 PHP 日志过大(推荐配置)

php.ini 示例

log_errors = On
error_log = /var/log/php/php-error.log

logrotate 示例(/etc/logrotate.d/php)

/var/log/php/*.log {
    daily
    missingok
    rotate 14
    compress
    notifempty
    create 0640 www-data adm
}

五、快速总结

场景 命令
清空日志 truncate -s 0 日志文件
自动清理 logrotate
Apache /var/log/apache2/error.log
PHP-FPM /var/log/php*-fpm.log

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

  • Ubuntu 版本
  • PHP 版本
  • 用的是 Apache 还是 Nginx

我可以给你精确命令

0