简而言之,cli模式就是命令行模式,cgi模式就是web端模式;

命令行模式就是用你的dos窗口,以命令的形式去运行php脚本,这个时候会生成一个cli进程去跑脚本;

web端模式就是用你的Google浏览器,以域名或者ip的形式去运行脚本,这个时候会生成一个fpm进程管理器,下边有生成cgi子进程去跑脚本;

 

fpm进程管理器是什么?

进程管理器,顾名思义就是管理进程的一个“进程”;

什么意思呢?当我们接到一个请求时,webserver需要和php进行通信;

通信时会成一个主进程,我们把它理解为一个工厂,主进程下会生成子进程去做具体的运算,我们把它理解为工人;

也就是说,工厂的作用是调度,是给工人提供工作的一个平台,工人的作用是去做工作。

为什么要这样做?

php是解释性语言,每次运行都需要解释器重新解释,所以,每次都会重新加载配置项等,造成无用的浪费;

还有一些资源浪费内存浪费等;

 

 

更多推荐

php cli模式和cgi模式有什么区别?fpm是什么?