Tengo una nueva instalación de CentOS 8 Stream con Apache y configuración PHP-FPM usando todos los valores predeterminados (el valor predeterminado es PHP 7.2.24 FPM/FastCGI).
Mi aplicación usaEventos enviados por el servidorutilizando EventSource
objetos JavaScript. Para que eso funcione, necesito la configuración de Apache/FPM para poder enviar datos al cliente cuando estén disponibles (o al menos cuando flush
se realiza la llamada de PHP).
Sin embargo, FPM no hace eso. Solo generará todos los datos tan pronto como finalice el script. (Que no es lo que quiero...)
¿Cómo puedo configurar PHP-FPM en Centos8 para que pueda vaciar datos durante el procesamiento del script?
Intenté agregar una Proxy
directiva en /etc/httpd/conf.d/php.conf
:
<Proxy "fcgi://localhost" enablereuse=on flushpackets=on max=10>
</Proxy>
justo después </FilesMatch>
, pero eso no pareció funcionar.
Respuesta1
Esta no es una respuesta a la pregunta, sino una solución (temporal): deshabilite PHP-FPM y vuelva a mod_php
.
En CentOS 8, esto es bastante simple, en /etc/httpd/conf.modules.d/00-mpm.conf
, descomente esta línea:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
y comenta la línea para mpm_event
.
Luego agrega esto a httpd.conf
:
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>
Fuente:https://www.linode.com/docs/guides/how-to-install-apache-web-server-centos-8/