Utilisation des événements envoyés par PHP et par serveur (vidage avec proxy_fcgi)

J’utilise Ubuntu 17.04, Apache 2.4, proxy_fcgi et php-fpm. Tout fonctionne et se connecte bien, à l’exception du vidage pour les événements envoyés par serveur.

Flushing fonctionnait bien avec mod_fastcgi et fastcgiexternalserver avec “-flush”. Maintenant, avec Ubuntu 17.04, il n’inclut pas mod_fastcgi, et proxy_fcgi est recommandé.

Avec proxy_fcgi j’ai désactivé gzip, la mise en mémoire tampon de sortie, utilisez “Content-Encoding: none”, la seule façon réelle pour connection_aborted et flush to work est si vous envoyez environ 32K (je suppose

Il est indiqué dans Apache Docs que vous ne pouvez pas définir ProxyReceiveBufferSize ou ProxyIOBufferSize moins de 512.

Il devrait y avoir un moyen plus simple de le faire avec proxy_fcgi.

Exemple de code d’envoi de données pour les événements envoyés par serveur:

while (!connection_aborted() ) { echo('data: {}' . PHP_EOL . PHP_EOL); flush(); } // While // 

Edit: J’ai aussi essayé ob_flush (), mais j’ai désactivé Output Buffering (ob_ *) avec ob_end_clean () précédemment, et ob_flush () renverra une erreur.