我在CentOS 7上安装了php-fpm,每个用户都有自己的池和日志文件。 我想确保每个用户都能够查看他们自己的日志文件。
这对PHP error_log非常有用,它是由与php-fpm池进程运行时相同的用户/组所有者创build的。
不幸的是,每个池的PHP slowlog被创build为具有'600'权限的'root'。 有什么办法可以configurationphp-fpm来创build具有正确的文件所有者和/或具有可configuration的文件权限的慢日志文件?
以下configuration:
user = some_user group = some_group php_admin_value[error_log] = path-to-logs/php-error.log php_admin_flag[log_errors] = on request_slowlog_timeout = 10s slowlog = path-to-logs/php-slow.log
在path到日志中产生以下文件权限:
-rw-r--r-- 1 some_user some_group 7244 Mar 10 22:54 php-error.log -rw------- 1 root root 2307 Mar 9 20:21 php-slow.log
据我所知,没有办法直接在configuration上设置所有权或权限级别。 解决方法是强制initscript在重新启动后为您设置这些权限。
实际上,如果您决定(而且您应该)旋转缓慢日志,则更好的方法是确保使用logrotate.d脚本,否则它会改变您在初始化中设置的任何内容。
看起来很奇怪,尽pipe在池级别(以指定用户身份运行)中定义了缓慢的日志,slowlog由主进程产生,因此由root拥有。
在configuration文件中一定有一个设置来设置权限级别和所有权,类似于@ sandyskies-chan在注释中链接的那个