IIS下PHP的三种配置方式对比

 在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上了。

(0)

相关推荐

  • IIS6下配置fastcgi的php的教程

    FastCGI的IIS模块可以让流行的应用框架在IIS上支持FastCGI协议以提供高性能和可用性的访问服务,FastCGI面向现有的网络服务器提供高性能的CGI替代标准.具体PHP 安装方法我记录下来,其中包括出现的一个错误.环境: 操作系统:Windows 2003 Server PHP版本:PHP5.25 1.下载FastCGI For IIS6 http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4

  • IIS7配置PHP环境图文教程(fastcgi快速最新版)

    我们知道php配置有几种: 1.CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少. 特点是:稳定,但效率太低. 2.ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广. 特点是:多线程,效率较高,但不够稳定. 3.FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了. 特点是:高效率,高稳定性,属于将来发展趋势.

  • 2009年最新版 win2003 IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置教程第1/8页

    操作系统:Windows.Server.2003.R2,Enterprise.Edition,SP2,x86,CHS,VOL,MSDN本次配置PHP的服务器环境:Windows2003+ IIS6+PHP5+MySQL3+Zend+phpMyAdmin整个配置过程需要是使用拥有管理员权限的系统帐号登录Windows在整个配置过程中所示的截图可能根据各使用的系统不同,窗口界面而有所不同,但对应的选项卡栏目是相同的,只需要找到提到的对应选项卡即可. 一.下载相关软件 安装前需要准备的软件(因为我这里

  • win2003 iis配置PHP环境图文教程

    配置PHP环境 下载 FastCGI 1.5 for IIS x86 / x64,添加fastcgi映射 编辑C:\WINDOWS\system32\inetsrv\fcgiext.ini内容如下 复制代码 代码如下: [Types] php=PHP [PHP] ExePath=D:\php\php-cgi.exe InstanceMaxRequests=10000 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000 d:\php\php.ini主要修改点如下

  • Windows Server 2012 Iis8 php环境配置方法

    今天给大家做个php配置的教程,支持mysql数据库,可能偶配置环境就几下子,很容易,但希望大家仔细看,因为很多步骤都要细心的,不然走错一步,便导致整个环境配置不成功,偶不喜欢复制这复制那的,所以清一色安装包来操作,这样高效而且速度,还支持后续在线升级php.mysql. 以下是具体步骤:(软件都要靠自己去网上找,本教程不提供以下各种软件) 软件及平台要求:1.平台:windows 2012 server datacenter(数据中心版)2.环境:iis8   php5.3.20   rewr

  • windows+IIS 环境下以Fastcgi方式配置php 5.3.3的方法

    还是感觉5.2及以前的版本配置比较方便,使用5.3配置后,我的apache居然挂了,不知道问题出在哪里,没找到解决方法,最后只能ghost还原了一下.第一步:iis6.0环境配置,这里不多介绍 第二步:下载php5.3.3的windows压缩版本:php-5.3.3-nts-Win32-VC9-x86.zip1.下载地址:http://windows.php.net/download/,选择VC9 x86 Non Thread Safe.有关PHP版本说明2.把php-5.3.3-nts-Win

  • 阿里云完美教程 Window2003 iis+mysql+php+zend环境配置

    在我的使用过程中只遇到几个小问题: 一.HTTP 错误 403.1 – 禁止访问:执行访问被拒绝 原因是执行权限不够,解决的方法是: 解决方法一: 打开"管理工具"的"Internet 信息服务",右键选择"WEB站点属性"的"主目录"选项卡,把"执行许可"的选项从"无"改为"纯脚本"就好了. 解决方法二: 1.打开IIS设置 2. 在建虚拟目录或网站时注意以下设置

  • Win2003下配置iis+php+mysql+zend图文 使其支持asp,.net,cgi,perl和php

    所需软件: ActivePerl.PHP.MYSQL.Zend (一.安装IIS6.0;二.配置PHP环境;三.安装mysql;四.安装 Zend Optimizer;五.配置PHPMYADMIN) Win2003配置下iis+php+mysql+zend 2.下载php环境的相应的软件(下载地址:http://s.jb51.net/ )推荐配置:php-5.2.1-Win32.zip . mysql-5.0.37-win32.zip . ZendOptimizer-3.3.3-Windows-

  • iis下php mail函数的sendmail配置方法(官方推荐)

    首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下. 然后打开php.ini文件,找到下面这段代码 复制代码 代码如下: [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = me@example.com ; For Un

  • WIN2003+IIS6 PHP 5.3.8安装配置教程[图文]

    一.安装好IIS 具体安装方法可查看:http://www.jb51.net/article/21274.htm. 二.下载并安装IIS FastCGI 下载地址:http://www.iis.net/download/fastcgi.选择 x86或者download x86,下载下来名称为 fcgisetup_1.5_rtw_x86.msi.安装后会在C:\WINDOWS\system32\inetsrv\目录下多出了5个文件fcgiconfig.js,fcgiext.dll,fcgiext.

随机推荐