代潇瑞博客

PHP SAPI介绍

| 点击次数:458

SAPI  —— Server Application Programming Interface

简单来说:SAPI提供了一个接口,使PHP和其他应用进数据交互。按照SAPI的接口规范,可以编写出不同的运行模式。


image.png

(上图为php源码中sapi所在的目录)


image.png

(上图为sapi核心数据结构,具体模式都有对应的实现)


1、cli

cli为命令行接口,它是单进程模式,处理完请求后直接关闭。

除了可以执行php外,还提供一些其他的功能,如:检查php代码语法、启动一个内置的web服务器等。

image.png


2、FastCGI

是一种快速通用网关接口,也可以说是一种通信协议,主要和web服务器打交道。

是CGI的升级版。

FastCGI:常驻内存,处理请求效率更高,对系统开销更小。

image.png


3、fpm

fpm(fastcgi process manager),是php fastcgi模式的一个进程管理器。

fpm是一种多进程模型,由一个master进程和多个worker进程组成。

master进程负责管理worker进程;worker进程负责处理请求。

image.png


对比fastcgi,fpm的优势是:

①对cgi管理方式更丰富、更灵活,性能更好;

②支持平滑重启;


【相关推荐】

触屏版 | 电脑版

Copyright © 2013 代潇瑞博客手机版

QQ: 446673330

粤ICP备13071969号-1