Cgi与php-Cgi以及Fast-Cgi与php-fpm的理解

三种php解释器执行方式:


1. mod_php:Apache中模块形式;单个进程可以处理多个请求


2. Cgi:Common Gateway Interface,协议

    php-Cgi:1)Cgi协议的实现,用来解释php请求;过程:php请求->php-Cgi读取并解析

                          php.ini 文件,初始化环境->根据请求参数,返回处理结果


                     2)单个进程只能处理一个请求,每一个进程,都需读取php.ini进行解析,效率较低


                     3)修改完php.ini文件,启动php-Cgi程序不会生效,无法平滑重启

Cgi与php-Cgi以及Fast-Cgi与php-fpm的理解 Cgi与php-Cgi以及Fast-Cgi与php-fpm的理解


3. Fast-Cgi:在Cgi协议上做了优化,提高性能

    php-fpm:1)Fast-Cgi协议的实现,用来解析php请求,过程:php请求->php-fpm读取

                          php.ini初始化环境->启动一个master->启动多个worker->master将请求传

                          递给work->php-fpm动态配置worker数量


                      2)单个进程通过启动多个php-Cgi程序处理多个请求


                      3)修改完php.ini文件,启动新的worker,调用新的配置,实现平滑重启

Cgi与php-Cgi以及Fast-Cgi与php-fpm的理解

 Cgi与php-Cgi以及Fast-Cgi与php-fpm的理解