PHP fonctionne en au moins 3 modes, CGI, Module ou Fast-CGI
Module: Il est chargé comme librairie Apache. Chargé une seule fois en mémoire, moins couteux en RAM et a accès directement à certaines fonctions Apache vu qu'il est dans le même process. C'est l'installation la plus courante.
CGI: Apache (ou Lighttpd, ou ...) renvoie une requête PHP à un process PHP autonome. En gros, à chaque script PHP, Apache va exécuter en command line PHP, lui filer qqs arguments et renvoyer son output au client. C'est lent, ça bouffe de la RAM, ca se chie dessus.
FAST-CGI: Au lieu de faire un exec, Apache se connecte en TCP/IP à PHP qui tourne seul comme un brave dans son propre process. C'est une solution idéale pour plusieurs raisons: Peu de consommation mémoire, chacun son process et pas 15 process en // (vu qu'Apache tourne souvent en Fork), sécurité gérée séparément, si segfault de PHP, ton Apache le relance et t'a pas paumé ton serveur, et tu peux à la limite faire tourner PHP sur une deuxième machine et commencer à faire du pool de serveurs PHP avec un seul frontend Apache. Le mauvais point? j'en ai pas encore trouvé
(Ah si, que PHP est tellement pourri qu'il fonctionne plus en shared pour ses modules mais en static
).