配置PHP在Windows IIS 6,通常有三种方式配置CGI,ISAPI和FastCGI。这三种
模式可以在IIS 6下成功
运行。接下来我将讨论三种
方法的
区别和
性能差异。
1、CGI(通用
网关接口/公共网关接口)一般是可
执行程序,如exe
文件和Web
服务器占据不同的过程,一般一个CGI程序只能
处理一个
用户请求,当用户请求一个非常大的数量的要求,它要占用大量的
系统资源,如
内存、CPU时间等,造成
工作效率低。
2、ISAPI(Internet服务器
应用程序接口)是一套为微软提供的Web服务API接口。它可以实现所有的
功能提供了通过CGI,并扩大它在这个基础上,如提供过滤应用程序接口。大多数应用ISAPI是DLL动态库的形式。他们可以在用户请求执行,后不要立即处理用户请求的消失,而是继续留在记忆里,
等待其他用户
输入。此外,ISAPI的DLL应用程序与Web服务器在同一个过程,而且效率明显高于CGI。
配置Windows Server 2003 IIS6的PHP ISAPI是IIS的配置方法,Web服务
扩展,添加一个新的Web服务扩展程序,
后缀为PHP,php5isapi.dll ISAPI程序,然后
环境变量系统变量添加一个名为phprc,在Internet信息服务
管理的
路径值,选择
网站或应用程序的根
目录,打开目录
属性页(
右键单击,然后选择主目录的属性),点击配置按钮,选择映射标签页,单击添加…,
可执行文件
设置为:C: PHP php5isapi.dll,分机设置。PHP,选择
确认文件存在,然后确定
保存设置,
重启服务器完成php的配置。
3,FastCGI是一个开放的可扩展架构的CGI扩展,其主要行为是保持CGI解释器的
进程在内存中从而实现高性能。传统的CGI解释器的重复加载是CGI的低性能的主要
原因。如果CGI解释器是保存在内存中并接收FastCGI进程管理调度,它可以提供良好的性能和可扩展性。
FastCGI已经在IIS7和IIS6集成,并在IIS6的
安装方法可以在微软的官方文件。我这里有一个简单的
翻译。
首先,点击这里
下载IIS 32位FastCGI扩展,然后安装,安装后的文件应该放在system32 inetsrv目录。
然后打开system32 inetsrv目录,执行下面的语句,其中C: PHP PHP目录,可以
修改为其他值。
fcgiconfig.js cscript添加部分:php延伸:PHP路径:C: PHP PHP的CGI程序。
Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(点击右键选择属性),然后选择主目录,点击配置按钮,选择映射标签页,单击添加…,可执行文件设置为: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集节:php- instancemaxrequests:10000
cscript fcgiconfig.js集节:php- environmentvars:php_fcgi_max_requests:10000
最后,配置C安全: PHP目录,iis_wpg组允许读取和执行目录。
在这个时候,PHP基于FastCGI是成功配置在IIS6。