一、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服务器接收内容->返回给用户