# PHP-FPM

> Un gestionnaire de processus PHP qui traite les requêtes via FastCGI, en maintenant un pool de processus réutilisables pour de meilleures performances.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/php-fpm/

FPM signifie *FastCGI Process Manager* : au lieu de démarrer un nouvel interpréteur PHP à chaque requête, il maintient à l'avance un ensemble de processus prêts à traiter les demandes, qu'il redistribue et recycle au fil du trafic. Cette gestion de pool réduit considérablement la latence par rapport aux anciennes intégrations PHP directement chargées dans le serveur web.

## Place dans une pile WordPress

Sur une configuration Nginx classique, chaque requête vers un fichier `.php` — typiquement `index.php`, point d'entrée unique de WordPress — est transmise par Nginx à PHP-FPM via un socket Unix ou TCP. PHP-FPM exécute alors le cœur de WordPress, charge le thème et les extensions, puis renvoie le HTML généré à Nginx qui le sert au navigateur.

## Réglages de pool à surveiller

```
pm = dynamic
pm.max_children = 20
pm.start_servers = 4
pm.max_requests = 500
```

`pm.max_children` limite le nombre de requêtes PHP simultanées : trop bas, le site sature en pic de trafic ; trop haut sur un VPS sous-dimensionné, la mémoire s'épuise et le serveur peut se figer.

## Pièges fréquents

- Un site qui répond « 502 Bad Gateway » signale souvent que le pool PHP-FPM est saturé ou que le processus a redémarré ; le journal serveur de PHP-FPM confirme la cause exacte.
- Chaque hôte virtuel peut disposer de son propre pool PHP-FPM avec des réglages distincts, ce qui permet d'isoler un site gourmand des autres sites hébergés sur le même VPS.
- PHP-FPM ne fait rien sans un serveur web devant lui pour recevoir les requêtes HTTP : ce n'est pas un serveur web à lui seul, contrairement à Apache avec `mod_php`.
