當 CentOS 上的 PHP 日志文件變得過大時,可以采取以下方法來處理:
清空日志文件:
可以使用 truncate 命令清空日志文件。例如,如果你的日志文件是 /var/log/php-fpm.log,可以運行以下命令:
truncate -s 0 /var/log/php-fpm.log
這將把日志文件大小設置為 0,從而清空日志文件。
分割日志文件:
使用 logrotate 工具可以自動分割日志文件。CentOS 7 默認已經安裝了 logrotate。你可以在 /etc/logrotate.d/ 目錄下找到相關的配置文件。如果沒有找到,可以創建一個新的配置文件,例如 /etc/logrotate.d/php-fpm,并添加以下內容:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
這個配置表示每天分割一次日志文件,保留最近 7 天的日志文件,并對舊日志文件進行壓縮。你可以根據需要調整這些選項。
調整日志級別:
如果日志文件過大的原因是日志級別設置得過低,可以考慮提高日志級別。編輯 PHP-FPM 或其他相關服務的配置文件,例如 /etc/php-fpm.d/www.conf,找到 error_log_level 設置項,將其值調整為更高的級別(如 warning 或 error),然后重啟服務:
sudo systemctl restart php-fpm
優化代碼: 檢查你的應用程序代碼,確保沒有錯誤或警告信息被記錄到日志中。修復這些問題可以減少日志文件的大小。
定期清理日志文件:
可以設置一個定時任務(cron job),定期執行上述清空日志文件或分割日志文件的操作。例如,可以創建一個名為 /etc/cron.daily/clear-php-logs 的腳本,添加以下內容:
#!/bin/sh
truncate -s 0 /var/log/php-fpm.log
然后給予腳本可執行權限:
sudo chmod +x /etc/cron.daily/clear-php-logs
這樣,每天都會自動清空 PHP 日志文件。