CGI, FastCGI, php-cgi, php-fpm的理解

CGI

CGI是一种协议,CGI是一种协议,CGI是一种协议。

定义了web服务和外部应用之间的交互方式。

外部应用指不同语言编写的CGI脚本。

CGI脚本用来生成动态的页面内容。

CGI进程每次处理请求都要被初始化,处理完之后退出。

FastCGI

FastCGI是一种协议,FastCGI是一种协议,FastCGI是一种协议。

是对CGI的一种改进。

不需要每次请求处理完程序退出,下次请求来了可以直接复用该进程。

php-cgi

php-cgi解析cgi协议数据,调用php的php_execute_script函数来解析和运行php文件。

php-fpm

php-fpm是一个fastcgi进程管理器,类似于连接池,用于管理与web服务器的连接,而fastcgi协议的解析是通过php-fcgi进行解析的,之后将php文件交给php_execute_script函数来执行。

参考:

https://www.basezap.com/difference-php-cgi-php-fpm/

https://help.superhosting.bg/en/cgi-common-gateway-interface-fastcgi.html

https://www.zhihu.com/question/268732467