Docker中PHPFPM容器无法记录日志
最近遇到一个奇怪的问题,在docker的php容器中配置了启用慢日志:
catch_workers_output = yesslowlog = /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
#...
参考资料:
- PHP slowlog empty even though PHP-FPM says it"s logging
以上是 Docker中PHPFPM容器无法记录日志 的全部内容, 来源链接: utcz.com/z/514659.html