我尝试使用official php-fpm镜像在Docker容器中运行Yii based PHP application。
将所有日志消息写入stdout
/ stderr
是停靠容器的常见做法。所以我在我的容器中做了同样的事情,代码基本上看起来像这样:
$fp = @fopen('php://stdout','w');
fwrite($fp, $message);
fclose($fp);
不幸的是,PHP-FPM现在为我的所有日志消息添加了丑陋的警告前缀:
21-Mar-2016 14:10:02警告:池www孩子12进入标准输出:"2016-03-21 14:10:02 x.x-yii\base\Application::Bootstrap bootstrap with yii\debug\Module::bootstrap()“21-Mar-2016 14:10:02警告:池www孩子12进入标准输出:"2016-03-21 14:10:02 x.x-yii\web\ Session::open Session started”...
为什么会这样?有没有一种方法可以防止PHP-FPM这样做?
更新:
我也在docker-library/php项目的网站上打开了an issue,
catch_workers_output = yes
。所以这不是these changes的solution.
中得到解决
发布于 2017-03-25 03:28:49
这是正确的。您正在运行php-fpm,错误日志来自php-fpm,而不是PHP。你应该期待php-fpm log,而不是php log。幸运的是,php-fpm将把从PHP收到的每个日志写到日志的末尾。
https://stackoverflow.com/questions/36134167
复制相似问题