Docker中PHPFPM容器无法记录日志

编程

最近遇到一个奇怪的问题,在docker的php容器中配置了启用慢日志:

catch_workers_output = yes

slowlog = /var/log/dnmp/php.slow.log

request_slowlog_timeout = 1s

但是日志文件总是没记录,一直是空的。

最后在serverfault.com上找到答案:

在Linux系统中,PHP-FPM使用SYS_PTRACE跟踪worker进程

但是docker容器默认又不启用这个功能,所以就导致了这个问题。

知道了问题所在,解决起来就快了。

如果用命令行,在命令上加上:

--cap-add=SYS_PTRACE

如果用docker-compose.yml文件,在服务中加上:

php:

#...

cap_add:

- SYS_PTRACE

#...

 

参考资料:

  1. PHP slowlog empty even though PHP-FPM says it"s logging

以上是 Docker中PHPFPM容器无法记录日志 的全部内容, 来源链接: utcz.com/z/514659.html

回到顶部