symfony Monolog错误地以根用户身份旋转文件

rjzwgtxy  于 2023-11-22  发布在  其他
关注(0)|答案(1)|浏览(146)

我使用Symfony v5.4和Monolog,它被设置为(对于不太重要的日志)进行自动日志旋转(monolog的rotating_file选项)。
问题是,在生产模式下,在live服务器上,当Monolog旋转这样的文件(为第二天创建一个新文件)时,它会将新文件创建为root:root
该文件夹中的所有其他日志文件都被创建为apache:apache。即使某些日志文件不存在,并且Symfony希望在需要时自动创建它,它也会被创建为apache用户。
Apache 2以apache用户的身份运行,所以它在写入常规日志文件时没有问题,但是很明显,当它尝试写入新的由Monolog自动旋转的root:root文件时,它失败了。
我假设某个实际执行旋转的进程正在作为根进程运行,但是--那是哪个进程?这个Monolog的工作是如何安排每天处理的?我没有回避任何关于它的细节。
Symfony本身是通过Apache调用的,Apache以apache运行。

uyhoqukh

uyhoqukh1#

这可以来自root用户的cronjob或者sudo命令。如果文件不存在,这可以创建文件。它们有root所有者,所以apache不能访问它们。

相关问题