在Ubuntu系统中,PHP日志轮转通常是通过logrotate工具来实现的。以下是配置PHP日志轮转的步骤:
安装logrotate(如果尚未安装):
sudo apt-get update
sudo apt-get install logrotate
找到PHP日志文件的位置:
PHP日志文件通常位于/var/log/apache2/或/var/log/nginx/目录下,具体取决于你使用的Web服务器。例如,对于Apache,日志文件可能是access.log和error.log。
创建或编辑logrotate配置文件: 你可以为特定的日志文件创建一个单独的配置文件,或者将它们包含在一个通用的配置文件中。以下是为Apache的PHP错误日志创建一个单独配置文件的示例:
创建一个新的配置文件:
sudo nano /etc/logrotate.d/php_errors
在这个文件中添加以下内容:
/var/log/apache2/error.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 640 root adm
}
这个配置的意思是:
daily: 每天轮转日志。missingok: 如果日志文件丢失,不要报错。rotate 7: 保留7个旧的日志文件。compress: 压缩旧的日志文件。notifempty: 如果日志文件为空,则不轮转。create 640 root adm: 创建新的日志文件,权限为640,属主为root,属组为adm。测试logrotate配置: 你可以使用以下命令来测试你的logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.d/php_errors
这个命令会强制执行配置文件中的轮转规则。
设置定时任务:
logrotate通常通过cron作业自动运行。你可以检查/etc/cron.daily/logrotate文件来确保它包含了执行logrotate的命令。
监控日志轮转: 你可以通过查看日志文件来监控轮转是否按预期工作。例如:
cat /var/log/apache2/error.log*
请注意,如果你使用的是PHP-FPM,日志文件的配置可能会有所不同。你需要编辑PHP-FPM的配置文件(通常是/etc/php/版本号/fpm/pool.d/www.conf),并设置access.log和error.log的路径。然后,你可以按照上述步骤为这些日志文件创建logrotate配置。
以上步骤应该可以帮助你在Ubuntu系统上配置PHP日志轮转。记得根据你的实际情况调整日志文件路径和配置选项。