来自php -under-iis-for-cgi-isapi-fastcgi -compare/">博吧
在Windows IIS 6.0下配置 PHP,通常有CGI、ISAPI和FastCGI三种配置 方式 ,这三种模式 都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式 配置 的区别 和性能上的差异。
1、CGI(通用网关接口/Common Gateway Interface)一般是可执行程序 ,例如EXE文件 ,和WEB服务器 各自占据着不同的进程 ,而且一般一个CGI程序 只能处理一个用户 请求 。这样,当用户 请求 数量非常多 时,会大量占用系统 的资源 ,如内存、CPU时间 等,造成效能低下。
2、ISAPI(Internet Server Application Program Interface)是微软 提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能 ,并在此基础上进行 了扩展 ,如提供了过滤器应用程序 接口。ISAPI应用大多 数以DLL动态 库的形式 使用 ,可以在被用户 请求 后执行,,在处理完一个用户 请求 后不会 马上消失,而是继续驻留在内存中等待处理别的用户 输入。此外,ISAPI的DLL应用程序 和WEB服务器 处于同一个进程 中,效率 要显著高于CGI。
在Windows Server 2003的IIS6下配置 ISAPI方式 的PHP,配置 方法 是,在IIS的“WEB服务扩展 ”中,添加一个新的WEB服务扩展 ,程序 后缀 为PHP,ISAPI程序 为php 5isapi.dl l,然后再“环境变量 ”-“系统 变量 ”中增加变量 名PHPRC,数值 为php .ini的路径 ,在Internet信息