温馨提示×

ubuntu php日志怎样清理

小樊
50
2026-09-12 09:41:30
栏目: 编程语言

在 Ubuntu 上清理 PHP 日志,通常是指清理 PHP-FPM 日志Apache/Nginx 错误日志中的 PHP 报错,或 应用自身写的日志。下面按常见场景说明。


一、常见 PHP 日志位置

1. PHP-FPM 日志(最常见)

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

例如:

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

2. Apache + PHP

/var/log/apache2/error.log

3. Nginx + PHP

/var/log/nginx/error.log

4. PHP 错误日志(php.ini 配置)

查看:

php --ini

error_log 配置:

error_log = /var/log/php_errors.log

二、安全清理方式(推荐)

✅ 方法 1:清空日志(不删文件,不影响服务)

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

或:

sudo > /var/log/php8.1/www-error.log

✅ 方法 2:用 logrotate(最推荐,自动清理)

Ubuntu 默认已配置 logrotate。

查看 PHP 相关配置:

cat /etc/logrotate.d/php*

手动执行:

sudo logrotate -f /etc/logrotate.d/php8.1-fpm

一般策略:

  • 保留 7–14 天
  • 自动压缩
  • 自动切割

三、彻底删除日志文件(不推荐)

sudo rm /var/log/php8.1/www-error.log

⚠️ 注意:

  • 删除后 PHP-FPM 可能仍写旧文件句柄
  • 需要重启服务:
sudo systemctl restart php8.1-fpm

四、清理应用自身 PHP 日志

例如 Laravel:

storage/logs/laravel.log

清理:

sudo truncate -s 0 storage/logs/laravel.log

五、防止日志无限增长

php.ini 示例

log_errors = On
error_log = /var/log/php_errors.log

配合 logrotate:

/var/log/php_errors.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
}

六、快速示例(PHP 8.1 + Nginx)

sudo truncate -s 0 /var/log/php8.1/www-error.log
sudo truncate -s 0 /var/log/nginx/error.log

如果你能告诉我:

  • PHP 版本
  • Web 服务(Apache / Nginx)
  • 具体日志路径或报错内容

我可以给你更精确的清理方案。

0