Я пытаюсь запустить приложение Yii на основе PHP в контейнере Docker, используя официальный php-fpm изображение.
Обычная практика для контейнеров-докеров для записи всех сообщений журнала на stdout
/stderr
. Поэтому я делаю то же самое из своего контейнера с кодом, который в основном выглядит следующим образом:
$fp = @fopen('php://stdout','w');
fwrite($fp, $message);
fclose($fp);
К сожалению, PHP-FPM теперь префикрует все мои сообщения журнала с уродливыми предупреждениями:
[21-Mar-2016 14:10:02] ПРЕДУПРЕЖДЕНИЕ: [пул www] ребенок 12 сказал в stdout: "2016-03-21 14:10:02 [xxxx] [-] [-] [trace] [yii\base\Application:: bootstrap] Bootstrap с yii\debug\Module:: bootstrap()" [21-Mar-2016 14:10:02] ПРЕДУПРЕЖДЕНИЕ: [пул www] ребенок 12 сказал в stdout: "2016-03-21 14:10:02 [xxxx] [-] [-] [info] [yii\web\Session:: open] Сессия началась"...
Почему это и есть способ предотвратить PHP-FPM от этого?
UPDATE:
- Я также открыл проблему на сайте проекта docker-library/php.
- Они уже включают
catch_workers_output = yes
в их конфигурацию. Так что не решение.