我正在使用APC运行php5 FPM作为操作码和应用程序缓存。和往常一样,我正在将php错误记录到文件中。
由于这变得很大,因此我尝试配置logrotate。它可以工作,但是轮换后,php仍会继续登录到现有的日志文件,即使重命名也是如此。这导致scripts.log为0B文件,而scripts.log.1继续增长。
我认为(尚未尝试过)在postrotate中运行php5-fpm reload可以解决此问题,但这每次都会清除我的APC缓存。
有人知道如何使其正常工作吗?
最佳答案
这可能是您要寻找的。取自:How does logrotate work? - Linuxquestions.org。
如我的评论所述,您需要防止PHP写入同一文件(重命名)。复制文件通常会创建一个新文件,而截断也是该选项名称的一部分,因此我想,copytruncate选项是一个简单的解决方案(from the manpage):
也可以看看:
关于php - 如何使用PHP日志配置logrotate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14145812/