要清理 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),并添加相应的配置即可。