Matthieu Napoli ha abierto una discusión RFC sobre --enable-cli-fpm. La opción de compilación propuesta incorporaría la SAPI de FPM al ejecutable php. FPM se iniciaría cuando --fpm fuese el primer argumento o cuando el programa se ejecutase mediante un nombre que comenzara por php-fpm. Las demás invocaciones continuarían usando la CLI con su comportamiento actual. La compilación seguiría generando un ejecutable independiente llamado php-fpm.

terminal
php script.php # CLI, as today
php --fpm --nodaemonize -y /etc/php-fpm.conf # FPM
ln -s php php-fpm
./php-fpm --nodaemonize -y /etc/php-fpm.conf # FPM, through a symlink

Napoli evaluó la propuesta con mediciones de Bref en AWS Lambda. El uso de un solo ejecutable elimina del entorno uno de los dos ejecutables de unos 26 MB. Esto deja más espacio para el código de la aplicación dentro del límite de 250 MB de Lambda. Una aplicación FPM mínima reduce su arranque en frío en 70 ms, un 25 %, porque FPM ya no carga una segunda copia del motor después de que la CLI lo haya cargado. El diseño también puede beneficiar a sistemas donde importan la velocidad de arranque o el espacio de disco, como las plataformas de autoscaling y serverless.

El RFC incluye una segunda votación sobre la activación predeterminada de la opción. Marc había propuesto esa votación cuando Napoli solicitó el nivel de karma necesario para presentar el RFC. Napoli también pide la opinión de los responsables de paquetes sobre un enlace simbólico php-fpm hacia el ejecutable php combinado. El paquete de FPM conservaría entonces solo los archivos de configuración y de servicio. La implementación está en la pull request 23558 de php/php-src, revisada hasta ahora por Jakub y Marc.