gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 12:37:30 24 4
gpt4 key购买 nike

我尝试运行 Yii based PHP application在 Docker 容器中使用 official php-fpm图片。

Docker 容器将所有日志消息写入 stdout/stderr 是一种常见的做法。所以我在我的容器中做同样的事情,代码基本上是这样的:

$fp = @fopen('php://stdout','w');
fwrite($fp, $message);
fclose($fp);

不幸的是,PHP-FPM 现在在我所有的日志消息前面加上丑陋的警告:

[21-Mar-2016 14:10:02] WARNING: [pool www] child 12 said into stdout: "2016-03-21 14:10:02 [x.x.x.x][-][-][trace][yii\base\Application::bootstrap] Bootstrap with yii\debug\Module::bootstrap()" [21-Mar-2016 14:10:02] WARNING: [pool www] child 12 said into stdout: "2016-03-21 14:10:02 [x.x.x.x][-][-][info][yii\web\Session::open] Session started" ...

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

更新:

  1. 我也打开了an issuedocker-library/php项目现场。
  2. 它们已经在 their configuration 中包含 catch_workers_output = yes .所以这不是解决方案。
  3. 根据these changes这个问题应该在 PHP 7.3 中修复

最佳答案

没错。您正在运行 php-fpm 并且错误日志来自 php-fpm ,而不是来自 PHP 。你应该期待 php-fpm log ,而不是 php log。幸运的是 php-fpm 会将所有从 PHP 接收到的日志都写在它的日志末尾。

关于php - 为什么 PHP-FPM 在写入标准输出时会添加警告前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36134167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com