2024年6月11日发(作者:)

精品文档

mod_php VS mod_fastcgi

目录

什么是MOD_PHP和MOD_FASTCGI .................................................

工作原理.....................................................................

MOD

_

PHP

.....................................................................

MOD

_

FASTCGI

.................................................................

1

2

2

3

4

5

5

6

6

8

8

8

8

11

13

14

14

MOD_FACTCGI的三种配置方式...................................................

静态配置...................................................................

动态配置...................................................................

远程方式...................................................................

性能测试.....................................................................

名称解释...................................................................

测试内容...................................................................

测试结果...................................................................

FASTCGI配置项对性能的影响。................................................

分析&结论...................................................................

附录 .......................................................................

APACHE+MOD_FASTCGI+PHP搭建..............................................

什么是mod_php和mod_fastcgi

在lamp体系中,对于apache端php的配置,我们最常用的就是mod_php, 它

把PHP做为APACHE一个内置模块。让apache http服务器本身能够支持PHP语

言,不需要每一个请求就启动PHP解释器来解释PHP。

和把webserver与php绑定起来的方式不同,fastcgi是HTTP服务器与你的

或其它机器上的程序进行“交谈”的一种工具,相当于一个程序接口。它可以接

受来自web服务器的请求,解释输入信息,将处理后的结果返回给服务器

(apache,lighty等)。mod_fastcgi就是在apache下支持fastcgi协议的模块。

精品文档

精品文档

工作原理

在介绍这两种模式的工作原理前,我们先了解一下php的架构

图1 php架构图

上面是php的架构图,从图上可以看到, SAPI提供了一个和外部通信的接

口,使得PHP可以和其他应用进行交互数据。php默认提供了很多种SAPI,常见

的给apache的mod_php5,CGI,给IIS的ISAPI,还有Shell的CLI。对于一个

基于apache的php应用,其运行流程可以简单归结如下

apache -> httpd -> mod_phpfastcgi -> sapi -> php

我们下面提到的两种工作方式就分别用到了mod_php5和cgi的sapi。

mod_php

mod_php是在lamp体系中最常使用的工作方式,在这种模式下,php被编译

为apache的一个内置模块,在启动时加载。当有一个php请求过来时,直接在

精品文档