Maison  >  Article  >  développement back-end  >  différence php cgi

différence php cgi

王林
王林original
2023-05-28 18:11:40643parcourir

PHP est un langage de script côté serveur largement utilisé pour le développement Web et la génération de pages dynamiques. Il peut fonctionner comme une application CGI (Common Gateway Interface) ou comme un module tel que le serveur HTTP Apache.

CGI (Common Gateway Interface) est une norme universelle pour connecter des serveurs Web et des applications Web. Il permet au serveur Web d'envoyer des requêtes aux applications Web et de recevoir des réponses. Parmi eux, PHP CGI fait référence à la manière de connecter l'interpréteur PHP et le serveur Web en utilisant le protocole standard CGI.

Il existe deux principales solutions CGI pour PHP : PHP-CGI et PHP-FPM. Ce qui suit présente leurs différences.

  1. PHP-CGI

PHP-CGI est la solution CGI standard pour PHP. Il utilise un pool de processus pour exécuter l'interpréteur PHP, chaque requête créant un nouveau processus. Il utilise un processus distinct pour gérer chaque requête, ce qui peut entraîner des problèmes de performances. Parce que cela nécessite de recharger l'interpréteur PHP et les fichiers de bibliothèque associés pour chaque requête. Ce processus nécessite plus de temps et de ressources.

  1. PHP-FPM

PHP-FPM est une autre solution CGI pour PHP qui améliore les problèmes de performances de PHP. Il utilise un pool de processus pour exécuter l'interpréteur PHP, et chaque processus peut gérer plusieurs requêtes. Dans PHP-FPM, le thread interpréteur est réveillé lorsqu'une requête arrive et reste actif une fois le traitement de la requête terminé. Cela réduit le temps de traitement de chaque requête car les fichiers de l'interpréteur et de la bibliothèque n'ont pas besoin d'être rechargés lors du traitement d'une requête, mais les threads déjà existants sont réutilisés.

PHP-FPM offre également une meilleure capacité à planifier et contrôler le concentrateur. Il vous permet de définir le nombre de threads pouvant être utilisés et la manière dont les nouvelles requêtes arrivant sont traitées lorsque le pool de threads est plein. Cela permet de mieux maintenir le serveur réactif sous des charges dynamiques.

  1. Comparaison des performances

PHP-FPM est la solution recommandée pour PHP car elle offre de meilleures performances et évolutivité. PHP-FPM a une meilleure gestion du pool de threads que PHP-CGI, a de meilleures performances et de meilleures capacités de gestion de charge dynamique. PHP-FPM prend également en charge le protocole FastCGI et peut communiquer avec différents serveurs Web (tels que Nginx, Apache, etc.).

Bien que PHP-CGI soit la solution CGI standard pour PHP, compte tenu de l'aspect performances, vous pouvez choisir d'utiliser PHP-FPM. Pour les petits sites Web ou environnements de développement, PHP-CGI peut être utilisé, mais dans un environnement de production, afin de garantir de bonnes performances et évolutivité, il est recommandé d'utiliser PHP-FPM.

En bref, PHP peut se connecter au serveur Web via le protocole CGI, en utilisant PHP-CGI ou PHP-FPM comme solution CGI. PHP-FPM est une solution proposée pour PHP qui offre de meilleures performances et évolutivité. La solution CGI à utiliser dépend de votre utilisation, notamment de la charge du serveur, du trafic, etc.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn