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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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程序不会生效,无法平滑重启

技术分享 技术分享


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,调用新的配置,实现平滑重启

技术分享

 技术分享

本文出自 “一马踏平川” 博客,请务必保留此出处http://huangzp.blog.51cto.com/12434999/1898910

以上是关于Cgi与php-Cgi以及Fast-Cgi与php-fpm的理解的主要内容,如果未能解决你的问题,请参考以下文章

fastcgi php-cgi与php-fpm区别和之间的关系

php的运行原理cgi对比fastcgi以及php-cgi和php-fpm之间的联系区别

CGI与fastcgi与php-fpm与php-cgi的关系

PHP-CGI进程占用过多CPU

apache php 与nginx php 的区别

比较CGI,FastCGI,PHP-CGI与PHP-FPM的区别