# php的运行模式

### 分类

有四种：分别为cgi，fast-cgi，cli和web服务器集成（模块模式）



# 运行原理

PHP-CGI：fast-cgi是一种协议，而php-cgi是实现了这种协议的进程。不过这种实现比较烂。它是单进程的，一个进程处理一个请求，处理结束后进程就销毁

PHP - FPM：是对php-cgi的改进版，它直接管理多个php-cgi进程/线程。也就是说，php-fpm是php-cgi的进程管理器因此它也算是fastcgi协议的实现

# 运行模式和运行原理的区别

多个运行模式相当于超市的不同入口，运行原理就是进入超市后的固定的行走路线，通过不同的运行模式进入到底层（进入超市）

## 参考资料

[搞不清FastCgi与PHP-fpm之间是个什么样的关系](https://segmentfault.com/q/1010000000256516)

