最近在使用vagrant搭建php的开发环境。 其中在搭建调试过程中,发现了很多问题(毕竟之前一直在用集成开发环境,一键安装搞定。。)。 进而调查了下CGI FastCGI 与 PHP-FPM 现总结如下:
Qu'avez-vous vécu exactement lorsque vous avez accédé à index.php à l'aide d'un navigateur ?
Est-ce un peu plus clair après avoir lu cette photo ? Expliquons-le en détail ci-dessous.
Lorsque vous saisissez l'adresse url pour accéder à index.php, votre navigateur (client) enverra une requête à votre serveur (nginx, apache, etc.), mais le serveur ne peut traiter que des ressources statiques telles que du html , comme les ressources dynamiques telles que php et jsp ne peuvent pas être traitées par le serveur, un analyseur spécifique est donc nécessaire pour les traiter. Alors, comment le serveur et l'analyseur communiquent-ils (contact) ? CGI est utilisé. Ils communiquent via CGI. Après la communication, PHP-FPM doit être utilisé pour analyser le fichier php. Une fois l'analyse terminée, il est renvoyé au serveur et le serveur revient au navigateur (client). de cette façon, le processus de demande est terminé.
Donc :
CGI est un protocole d'échange de données entre un serveur Web et une application Web.
FastCGI : identique à CGI, c'est un protocole de communication, mais il présente quelques optimisations en termes d'efficacité par rapport à CGI.
PHP-CGI : C'est le programme d'interface de PHP (Web Application) au protocole CGI fourni par Web Server.
PHP-FPM : C'est un programme d'interface pour le protocole FastCGI fourni par PHP (Web Application) au Serveur Web Il permet également une gestion des tâches relativement intelligente.
Matériaux de référence
Illustration de la relation entre CGI, FastCGI et PHP-FPM
Recommandations associées :
php-fpm - Comment afficher le chemin du fichier de configuration de l'exécution de php_fpm ?
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!