IIS下PHP的ISAPI和FastCGI比较
作者:williamlong 来源:月光博客 发布时间:2009-07-03 12:59:00
在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程序为php5isapi.dll,然后再“环境变量”-“系统变量”中增加变量名PHPRC,数值为php.ini的路径,在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加...”,在“可执行文件”设为: c:\php\php5isapi.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。重启服务器即可完成PHP的配置。
3、FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。
FastCGI已经集成于IIS7,也支持IIS6,在IIS6中的安装方法可参见微软的官方文档,我这里简单翻译一下。
先点这里下载一个32位的FastCGI extension for IIS,然后将其安装,安装后的文件应该放到system32\inetsrv目录下。
之后打开system32\inetsrv目录,执行下面的语句,其中c:\php为你的PHP目录,可以修改为其他数值。
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:\php\php-cgi.exe"
在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加...”,在“可执行文件”设为: c:\windows\system32\inetsrv\fcgiext.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。
修改php.ini文件,增加如下语句:
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
之后打开system32\inetsrv目录,执行以下语句:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
最后,配置c:\php目录的安全性,使得IIS_WPG组对于这个目录有读取和执行的权限。
这时候,基于FastCGI的PHP就成功配置到IIS6上了。
不过根据我自己的测试,FastCGI的性能比ISAPI的好像高不了多少,不知道Windows Server 2008下的IIS7是不是会好一些。这里是微软提供的基于内置FastCGI的IIS7安装PHP的方法。
猜你喜欢
- 2009年,新中国成立60周年。60年的成长道路充满艰辛和坎坷,但是在党的英明领导下,我国坚持改革开放、自主创新,发扬中华名族不怕苦不怕累的
- 在大洋的彼岸传来“巫妖王死期将至”的消息,似乎网易对于玩家的承诺没有兑现,即便“
- 如此成功的个人站长在中国站长中只能占据少数,像hao123的前主人,和广捷居的现主人,都是相对比较成功的,他们各自抓住了机遇,实现了大多数站
- 11月13日消息,10月底,土豆网与正式成为中国移动手机视频原创频道的独家运营合作伙伴和内容提供商。昨天,土豆网和中影集团宣布联合制作第一部
- 2008年过去了,尽管金融危机给中国企业带来了冲击,导致不少企业遭遇滑坡,但是网络却仍然是2008年增长的最强音,中国网民已达到2.98亿人
- 做过Google Adsense的站长都明白,打去年起Google Adsense的单价就节节降,原因很多:一是国内广告市场普遍如此,另一个
- 虽然雅虎和GOOGLE对反向链接和链接文本采取了完全不同的处理方式,但即使是对雅虎优化来说,链接文本(Link/Anchor Text)仍然
- 据外国媒体报道,在昨日.com 域名开放注册25周年之际,全球知名域名服务商Godaddy宣布其在3月10日注册了第4000万个域名,自此,
- Google AdSense 提供了10多种尺寸的广告格式。但它们的效果是有差别的。选择了正确的格式,对提升广告效果至关重要。这十多种格式,
- 什么东西造成文章既然也能成为网络营销之一的方法呢?这可能涉及了种种因素,当然文章里面具备最可能也包含性了就是搜索引擎优势(Search En
- 一、HTTP协议的作用原理WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作基于客户
- 酷我音乐盒作为国内领先的网络音乐播放器,除了提供给用户完美的音乐视听享受外,在歌词方面也是精益求精,力求带给用户独一无二的全新歌词体验。经过
- 给文件夹设置权限三PHP权限设置PHP安装目录,添加Users用户组权限,进入权限高级设置,权限为:遍历文件夹/运行程序、读取属性、读取扩展
- 本修正版通过封装代码,可以实现与PHPCMS的无缝衔接,已通过测试,有兴趣的朋友,还可以加以借鉴举一反三,做出自己的程序来(此是后话)。此前
- WordPress有一个很有用的功能,就是在线编辑主题功能,在多人博客WordPress MU中,这一功能因为安全性问题而被禁用,这里有一个
- 一、Windows Server2003的安装1、安装系统最少两需要个分区,分区格式都采用NTFS格式2、在断开网络的情况安装好2003系统
- 今天要介绍的有关Godaddy主机的知识是如何查看SSL状态,一定要认真学哦~一个SSL证书向访问的浏览器证明你的网站的身份,并加密他们的信
- 为了实现图片防盗链,根据网络上搜集的资料加上自己的实践,终于实现了iis下的图片防盗链功能。服务器系统windows 2003 server
- WordPress的魅力吸引了无数的blogers,同样也有许许多多的插件作者为WordPress更加完美制作了成千上万的插件。WordPr
- 施密特:Chrome将成为PC和Mac之外第三种平台(图片来自互联网)腾讯科技讯(编译/晁晖)北京时间5月15日消息,据国外媒体报道,谷歌首