温馨提示×

如何清空Ubuntu PHP日志

小樊
47
2026-07-21 17:13:40
栏目: 编程语言

在 Ubuntu 上清空 PHP 日志的方法取决于你使用的 PHP 运行方式(PHP-FPM 还是 Apache mod_php),以及日志的存放位置。下面按常见情况说明。


一、确认 PHP 日志位置

先查一下日志通常放在哪里:

php -i | grep "error_log"

常见位置:

  • PHP-FPM:/var/log/php*/fpm.log/var/log/php*-fpm.log
  • PHP 错误日志:/var/log/php_errors.log
  • Apache + PHP:/var/log/apache2/error.log
  • Nginx + PHP-FPM:通常在 /var/log/nginx/error.log

二、清空 PHP-FPM 日志(最常见)

1️⃣ 找到 PHP-FPM 日志

ls /var/log/php*

例如:

/var/log/php8.2-fpm.log

2️⃣ 清空日志(推荐方式)

安全、不会破坏文件句柄(推荐)

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

或:

sudo > /var/log/php8.2-fpm.log

不推荐直接删除

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

原因:PHP-FPM 仍持有文件句柄,删除后不会真正释放磁盘空间,也不会自动重建日志。


三、清空 PHP 错误日志

如果 php.ini 中设置了:

error_log = /var/log/php_errors.log

清空方式:

sudo truncate -s 0 /var/log/php_errors.log

四、清空 Apache / Nginx 中的 PHP 日志

Apache

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

Nginx

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

五、重启 PHP-FPM(可选)

清空日志后无需重启,但如果你想“确认生效”:

sudo systemctl restart php8.2-fpm

(版本号按实际情况)


六、自动清空(日志轮转,推荐)

不要手动清,最好交给系统:

sudo nano /etc/logrotate.d/php

示例:

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

七、确认磁盘空间是否释放

df -h

如果删除日志后空间没释放,说明进程仍占用:

sudo lsof | grep deleted

重启对应服务即可。


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

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

我可以给你精确到命令级别的方案。

0