三种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,调用新的配置,实现平滑重启
本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1898910,如需转载请自行联系原作者