要清理 CentOS 上的 PHP 過期日志,您可以按照以下步驟操作:
/var/log/php-fpm/
或 /var/log/httpd/
目錄中。您可以使用以下命令查看這些目錄的內容:ls /var/log/php-fpm/
ls /var/log/httpd/
確定要清理的日志文件。通常,這些文件以 .log
或 .log.*
結尾。例如,您可能會看到 access.log
或 access_log.*
文件。
使用 rm
命令刪除過期的日志文件。您可以使用以下命令刪除特定日期之前的日志文件:
find /var/log/php-fpm/ -type f -name "*.log.*" -mtime +7 -exec rm {} \;
在這個例子中,-mtime +7
表示刪除 7 天前的日志文件。您可以根據需要更改這個數字。
find /var/log/httpd/ -type f -name "*.log.*" -mtime +7 -exec rm {} \;
同樣,-mtime +7
表示刪除 7 天前的日志文件。您可以根據需要更改這個數字。
對于 PHP-FPM,您可以在 php-fpm.conf
或 www.conf
文件中設置日志文件的滾動策略。例如:
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
php_value[max_execution_time] = 60
對于 Apache,您可以在 httpd.conf
或 apache2.conf
文件中設置日志文件的滾動策略。例如:
LogFormat "%h %l %u %t \"%r\" %>s %b" combined
CustomLog /var/log/httpd/access_log combined
對于 Nginx,您可以在 nginx.conf
文件中設置日志文件的滾動策略。例如:
http {
...
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
...
}
然后,您可以使用 logrotate
工具自動管理日志文件的滾動和清理。在 CentOS 上,logrotate
已經預裝。您只需要創建一個配置文件(例如 /etc/logrotate.d/php-fpm
或 /etc/logrotate.d/httpd
),并添加相應的配置即可。