{{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