Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么PHP-FPM在写入标准输出时会加上警告前缀?_Php_Docker - Fatal编程技术网

为什么PHP-FPM在写入标准输出时会加上警告前缀?

为什么PHP-FPM在写入标准输出时会加上警告前缀?,php,docker,Php,Docker,我尝试使用该图像在Docker容器中运行 docker容器通常将所有日志消息写入stdout/stderr。因此,我在容器中也这样做,代码基本上如下所示: $fp = @fopen('php://stdout','w'); fwrite($fp, $message); fclose($fp); 不幸的是,PHP-FPM现在在我的所有日志消息前面加上了难看的警告: [21-Mar-2016 14:10:02]警告:[pool www]child 12对stdout说:“2016-03-21 14

我尝试使用该图像在Docker容器中运行

docker容器通常将所有日志消息写入
stdout
/
stderr
。因此,我在容器中也这样做,代码基本上如下所示:

$fp = @fopen('php://stdout','w');
fwrite($fp, $message);
fclose($fp);
不幸的是,PHP-FPM现在在我的所有日志消息前面加上了难看的警告:

[21-Mar-2016 14:10:02]警告:[pool www]child 12对stdout说:“2016-03-21 14:10:02[x.x.x][-][-][trace][yii\base\Application::bootstrap]带yii\debug\Module::bootstrap()的bootstrap” [21-Mar-2016 14:10:02]警告:[pool www]child 12对stdout说:“2016-03-21 14:10:02[x.x.x][-][-][info][yii\web\Session::open]会话已开始”

为什么会这样?有没有办法阻止PHP-FPM这样做

更新:

  • 我也在项目现场打开了
  • 它们已经包括了中的
    catch\u workers\u output=yes
    。所以这不是解决办法
  • 根据这个问题应该在PHP7.3中修复

  • 这是正确的。您正在运行php fpm,错误日志来自php fpm,而不是php。
    您应该使用php fpm日志,而不是php日志。幸运的是,php fpm将把从php收到的所有日志都写在日志的末尾。

    我认为这是一个常见的错误,它在44版中得到了修复,你能确认吗?@HalayemAnis不能确认。正如你应该从问题描述中看到的,我没有使用heroku。一般来说,这更像是php fpm的错误行为。您尝试在
    php.ini
    中使用
    catch\u workers\u output
    选项?不确定这是否有效。希望此线程可以帮助您@MichaelHärtl,向您的努力致敬,我刚刚在上看到: