Lorsque PHP est utilisé comme module, il est plus ou moins compilé dans le code d'Apache lui-même. Il est chargé pour chaque requête, ce qui signifie qu'il est chargé même pour les images, les scripts, les feuilles de style et tout autre fichier qui n'est pas PHP. Cela rend le service de ces pages plus lent. D'un autre côté, cela rend PHP plus rapide puisqu'Apache n'a pas à engendrer de processus supplémentaires.
Lorsque PHP est utilisé comme binaire CGI, il est plus sûr mais plus lent. Apache peut lancer des processus sous différents utilisateurs, ce qui peut, par exemple, renforcer la sécurité d'un environnement d'hébergement partagé. Cela augmente également la stabilité car les processus PHP sont séparés de ceux d'Apache et, en cas de défaillance ou de crash, les processus PHP n'affecteront pas Apache. Utiliser PHP en tant que CGI signifie que vous ne pouvez pas utiliser .htaccess
configurer PHP en utilisant php_flag
o php_value
.
La question est de savoir ce qui est le plus important pour vous. La vitesse ou la sécurité.
Si vous recherchez les avantages de l'utilisation de PHP en CGI
1 votes
@Aaron - Que vous compiliez PHP à partir des sources ou non, vous obtiendrez toujours un module Apache. Votre question devrait être "Dois-je utiliser PHP installé comme binaire CGI ou comme module ?".
0 votes
Merci François. J'ai mis à jour la question pour refléter vos corrections. Je suppose que j'ai mal compris ce que j'essayais de demander...
2 votes
En général : CGI est plus lent que l'interface mod_php. Mais FastCGI est une autre histoire. Et l'avantage en matière de sécurité d'utiliser l'une ou l'autre de ces interfaces entre en jeu si vous utilisez également mod_suphp/suexec.
0 votes
Y a-t-il une différence de vitesse notable entre l'exécution de PHP sous FastCGI et celle de PHP en tant que module ?
0 votes
Au fait, cette question est [::: :] stackoverflow.com/questions/3953793/mod-php-vs-cgi-vs-fast-cgi
0 votes
Maintenant, je suis un peu plus confus. Les deux réponses ci-dessous disent que PHP en tant que module est plus rapide que PHP sous CGI. La réponse que je viens de lire à partir du lien que gaRex a posté ci-dessus dit que PHP est beaucoup plus rapide sous FastCGI que sous forme de module, car vous pouvez utiliser le threading au lieu de forker dans Apache. Est-ce que ça se passe comme ça : FastCGI > Module > CGI ?