在Linux系统中,您可以使用logrotate
工具来实现PHP日志轮转。以下是设置PHP日志轮转的步骤:
确保logrotate
已安装:
在大多数Linux发行版中,logrotate
已经预装。如果没有,请使用以下命令安装:
sudo apt-get install logrotate # 对于Debian/Ubuntu系统
sudo yum install logrotate # 对于RHEL/CentOS系统
创建或编辑logrotate
配置文件:
在/etc/logrotate.d/
目录下创建一个新的配置文件,例如php-fpm
,或者编辑现有的配置文件。
sudo nano /etc/logrotate.d/php-fpm
添加以下内容到配置文件中:
/path/to/your/php-fpm.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/php-fpm/php-fpm.pid ]; then
sudo kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`
fi
endscript
}
请根据您的实际情况修改以下参数:
/path/to/your/php-fpm.log
:替换为您的PHP-FPM日志文件的实际路径。daily
:表示每天轮转一次日志。您可以根据需要更改为其他时间单位,如weekly
、monthly
等。rotate 7
:表示保留7个轮转日志。您可以根据需要更改此值。compress
:表示压缩旧日志文件。notifempty
:表示如果日志文件为空,则不进行轮转。create 0640 www-data adm
:表示创建新的日志文件,权限为0640,属主为www-data,属组为adm。sharedscripts
:表示如果有多个日志文件匹配,只执行一次postrotate
脚本。postrotate
和endscript
之间的部分:表示在轮转日志后执行的脚本。这里我们发送一个USR2信号给PHP-FPM进程,通知它重新打开日志文件。保存并退出配置文件。
测试logrotate
配置:
使用以下命令测试logrotate
配置是否正确:
sudo logrotate -f /etc/logrotate.d/php-fpm
如果没有错误信息,说明配置正确。
现在,logrotate
将按照您在配置文件中设置的规则自动轮转PHP日志。您还可以使用logrotate -d /etc/logrotate.d/php-fpm
命令来调试配置文件。