一、PHP运行模式
常见以下4种,前3种为常规web访问模式,第四种为cli命令行访问。
1、cgi 协议模式
cgi模式 通用网关接口(Common Gateway Interface),它允许web服务器通过特定的协议与应用程序通信,。
调用原理大概为:
用户请求->Web服务器接收请求->fork子进程 调用程序/执行程序->程序返回内容/程序调用结束->web服务器接收内容->返回用户 由于每次用户请求,都得fork创建进程调用一次程序,然后销毁进程,所以性能较低。
2、fast-cgi 协议 ( 常驻型cgi) 模式
fast-cgi是cgi模式的升级版,它像是一个常驻型的cgi,只要开启后,就可一直处理请求,不再需要结束进程。
nginx+php-fpm使用的就是fast-cgi模式
调用原理大概为:
①、web服务器fast-cgi进程管理器初始化->预先fork n个进程
②、用户请求->web服务器接收请求->交给fast-cgi进程管理器->fast-cgi进程管理区接收,给其中一个空闲fast-cgi进程处理->处理完成,fast-cgi进程变为空闲状态,等待下次请求->web服务器接收内容->返回给用户

fast_cgi 与 cgi区别:
CGI:每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展,并重新初始化全部

本文介绍了PHP的四种运行模式:CGI、FastCGI、模块模式和CLI,重点讲解了FastCGI协议在Nginx+PHP-FPM中的应用。PHP-FPM作为FastCGI的进程管理器,负责进程管理和优化,提供平滑启动、日志记录等功能。文章还详细阐述了Nginx如何通过FastCGI与PHP-FPM交互处理用户请求的过程。
最低0.47元/天 解锁文章
1803

被折叠的 条评论
为什么被折叠?



