{{tag>sysadmin apache2 php php-fpm}} :TODO: ====== Configurer Apache2 avec le service PHP-FPM ====== Apache2 peut être configuré de deux manières pour interpréter les scripts PHP : * via un **module Apache** (libapache2-mod-php) dans ce cas l'exécution est interne au serveur web) ; * via le **service PHP-FPM**, dans ce cas l’interprétation des scripts PHP est confiée à un service externe. En environnement de production multi-sites il est recommandé d'utiliser PHP-FPM car il peut gérer plus de connexions simultanées tout en utilisant moins de ressources. :TODO_DOCUPDATE: comparatif du module PHP ou de PHP-FPM ===== Installer le service PHP-FPM ===== sudo apt-get update sudo apt-get install php8.2-fpm Pour valider la bonne exécution du service **PHP** 8.2 **F**astCGI **P**rocess **M**anager : systemctl status php8.2-fpm.service ===== Configurer Apache2 ===== Activer les modules et charger la configuration pour sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.2-fpm sudo systemctl reload apache2 ===== Dépannage ===== Le navigateur Firefox affiche des pages blanches. Les scripts PHP ne sont pas interprétés mais le serveur ne retourne pas d'erreur, seulement des pages blanches. {{php_page_blanche.png}} Le fichier journal ''access.log'' indique que la page est bien retournée : 192.168.122.1 - - [20/Jun/2025:10:48:06 +0200] "GET /index.php HTTP/1.1" 200 283 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0" Le fichier journal ''error.log'' ne contient pas d'erreur. Si on affiche le code source de la page blanche retournée, on peut voir le code PHP non interprété : {{php_page_blanche_source.png}} ===== Résolution ===== Vérifier que la configuration ''php8.2-fpm.conf'' est active : ce ne doit pas être le cas. # le dossier doit contenir le fichier php8.2-fpm.conf ls /etc/apache2/conf-enabled/ Si le fichier est absent, activer la configuration : a2enconf php8.2-fpm systemctl reload apache2 ===== Références ===== * https://www.phptutorial.net/php-tutorial/php-hello-world/ * https://www.it-connect.fr/comment-configurer-apache2-avec-php-fpm-8-2-pour-executer-les-scripts-php/ * https://www.php.net/manual/fr/language.basic-syntax.phptags.php