run hub compose php docker

hub - ¿Por qué PHP-FPM prefija una advertencia al escribir en stdout?



laravel docker (1)

Intento ejecutar una aplicación PHP basada en Yii en un contenedor Docker usando la imagen oficial de php-fpm .

Es una práctica común que los contenedores docker escriban todos los mensajes de registro en stdout / stderr . Así que hago lo mismo desde mi contenedor con un código que básicamente se ve así:

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

Desafortunadamente, PHP-FPM ahora prefija todos mis mensajes de registro con feos avisos:

[21-Mar-2016 14:10:02] ADVERTENCIA: [grupo www] el niño 12 dijo en la salida estándar: "2016-03-21 14:10:02 [xxxx] [-] [-] [trace] [yii / base / Application :: bootstrap] Bootstrap con yii / debug / Module :: bootstrap () "[21-Mar-2016 14:10:02] ADVERTENCIA: [grupo www] child 12 dijo en stdout:" 2016-03-21 14:10:02 [xxxx] [-] [-] [info] [yii / web / Session :: open] La sesión comenzó "...

¿Por qué es esto y hay una manera de evitar que PHP-FPM haga esto?

ACTUALIZAR:

  1. También he abierto un problema en el sitio del proyecto docker-library/php .
  2. Ya incluyen catch_workers_output = yes en su configuración . Así que esa no es la solución.
  3. De acuerdo con estos cambios, el problema debería solucionarse en PHP 7.3.

Es correcto. está ejecutando php-fpm y los registros de errores son de php-fpm, no de PHP. debe esperar el registro php-fpm, no el registro php. afortunadamente, php-fpm escribirá cada registro que se recibió de PHP al final de sus registros.