从一个http请求说起:
1.client 通过http请求与服务器(nginx)建立一个一次性的连接
2.服务器收到请求后根据 .conf 文件里面的配置进行分发处理(如果配置是fastcgi 那就是fastcgi来处理)
3.fastcgi的本质是管理cgi使之更为高效率,所有这里会启动相对应的cgi程序,这里就是php解析器(zend)了
4.cgi接受数据处理完成后会返回给server
5.server再返回给client
这里插一个关于cgi的解析,是一个server与处理请求数据程序之间数据传输的一种标准,不特指某种语言https://zh.wikipedia.org/wiki...
然后再来看楼主的问题
1.PHP-FPM是一个PHP FastCGI管理器,所以不一定是fastcgi,你可以直接用cgi,但现在基本没有人这么干了
2.解析php程序的只有一个:ZEND 引擎!
3.PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中;fastcgi = cgiEX
4.快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本