在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
命令来调试配置文件。