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