IIS 7.x FastCGI 运行 PHP的配置方法_win服务器

所以早在 IIS 7.0 刚刚出现没多久,微软就已经提供了在 IIS 上运行 PHP 的一种更优化的方式—— FastCGI。但是直到 IIS 7.5 随着 Windows 7 出现,网上还有很多的“大虾”在教菜鸟们如何在 IIS 7.x 下用配置ISAPI支持的方式(甚至是PHP手册上不推荐的拷贝文件到系统目录的方式)来支持 PHP。本文介绍一下在 IIS7.x 中启用 FastCGI,以及配置 PHP 的方法。

我的配置环境是 Windows 7 x64 + IIS 7.5,但是本文的内容在Windows 7.x 版本中应该是完全通用的,因为 FastCGI 正是从 IIS 7.0 开始成为内置组件的。至于之前的版本,需要额外安装 FastCGI 支持,配置上也略有不同。

Part I. 启用 IIS 7.x 中的 FastCGI 支持

依次打开 控制面板 | 程序和组件 | 开启或关闭Windows功能,英文版对应操作为 Control Panel | Programs and Features | Turn Windows Features On or Off. 然后按下图所示启用 FastCGI (勾选 CGI 将同时启用 CGI 和 FastCGI 支持)。其它项你应该根据自己的需要选择,我这里是为了突出显示才去掉了其他项目的勾选。

如果是 IIS7.0,微软已经发布了一系列升级补丁来修正其中内置的 FastCGI 模块已知的部分问题,你可以根据自己的系统下载对应的补丁进行升级:

Update for Windows Server 2008
Update for Windows Server 2008 x64 Edition
Update for Windows Server 2008 for Itanium-based Systems
Update for Windows Vista SP1
Update for Windows Vista SP1 for x64 based Systems

Part II. 安装和配置PHP

微软官方文章里建议使用非安全线程版本的PHP(non-thread safe build of php),但是由于该版本下的Zend Optimizer的启用会比较复杂,而大部分商业PHP程序都是离不开Zend Optimizer的,所以建议仍然采用安全线程版本的PHP。请从 PHP官方网站 下载最新版本的 PHP Zip格式压缩包,本文写作时使用的是 PHP 5.2.9-2 版,下载地址:PHP 5.2.9-2 zip package 。

下载以后,将其解压缩到任意目录(本文中使用 D:\server\php,后面所有涉及到此路径的地方均表示为 [PHP Install Dir]),然后将目录中的 php.ini-recommend 改名为 php.ini 。用任意的文本编辑器打开这个文件,查找并确认以下设置:

  • fastcgi.impersonate = 1
  • cgi.fix_pathinfo=1
  • cgi.force_redirect = 0
  • open_basedir 指向包含 php 程序的网站路径。 【可选项】
  • extension_dir = "./ext" ;注意:以往版本中这里往往要使用绝对路径,但是现在可以用这样的方式进行通用配置。
  • 删除你需要激活的php扩展加载项前面的分号,例如:
    extension=php_mssql.dll
    extension=php_mysql.dll
    注意:不是所有的项目都可以激活的,最好只激活你用到的,如果激活某一项之后运行不了,请重新注释掉该项并重启IIS。

设置完毕以后,可以启动一个命令提示行窗口(cmd.exe),运行 [PHP Install Dir]/php –info 检查一下 php 是否可以正确运行,如果正确,会输出一系列的环境变量提示等。

Part III. 配置 IIS 处理 PHP 请求

打开 IIS 管理器,左边选择你的计算机,中间窗口点击“Handler Mapping”(中文版的朋友对照一下图标了,我不太确定在中文版操作系统中这个项目会翻译成什么),然后在右边点击“Add Module Mapping…”(添加模块映射)。

在弹出的 Add Module Mapping 对话框中,按照下图填写(Executable(optional)一项请填写你自己的安装路径,即 [PHP Install Dir]/php-cgi.exe ):

 

填写好之后,点 OK,会弹出一个确认对话框,问你是不是真的要添加这个模块映射。点 Yes 继续。

到此就完成了 PHP 在 IIS 7.x 下的安装,在你的网站目录下创建一个文本文件,文件名后缀为.php,比如test.php,该文件的内容只有一行:

<?php phpinfo(); ?>

然后用浏览器浏览这个文件(通常是http://localhost/test.php),正常情况下,就会看到PHP的默认信息页面了。

根据不同的配置,看到的信息可能有所不同,我这里的抓图已经安装了 Zend Optimizer v3.3.3,默认当然是没有的,你可以自己下载并安装,Zend Optimizer 的安装和以前所有版本的一样,就算没有教程,跟着安装向导一步一步选择也能成功安装。我这里就不赘述了。此外还有 MySQL、PhpMyAdmin 等的安装,也都是一样的。虽然相关,但都和 IIS 版本无关。就不讲了。

以前配置过PHP4,或者在 IIS 6.0 以前版本中以 ISAPI 方式配置过的朋友应该能发现,使用 FastCGI 方式在 IIS 7.x 中配置 PHP,已经大大简化,不用像 PHP 4那样向系统文件夹拷贝文件,不用像 IIS 6.0 以前版本那样修改环境变量,而且也不像 ISAPI 方式那样要设置 extension_dir 的绝对路径……

总而言之,PHP 在 Windows 下已经不像以前一样仅仅是不得以而为之的一个东西,它的安全性、稳定性、运行效率已经大大提高。除了 Linux + Apache + PHP + MySQL,我们现在也可以很方便地使用 Windows + IIS + PHP + MSSQL 了。

时间: 2024-09-10 20:06:44

IIS 7.x FastCGI 运行 PHP的配置方法_win服务器的相关文章

IIS URL Rewrite Module防盗链规则配置方法_win服务器

IIS版本:IIS 7.5 URL Rewrite组件:IIS URL Rewrite Module(http://www.iis.net/downloads/microsoft/url-rewrite) 根据需要,点击右侧的下载链接(操作系统是64位的,就下载x64版本:32位的系统,就下载x86版本) 注意的是,目前安装的版本都是英文的了. 下载完成之后,安装重写模块. 下载的是本地msi包(rewrite_amd64.msi或者rewrite_x86.msi),双击安装即可(安装之前最好先

使IIS支持PHP,ISAPI或CGI,FastCGI完全配置教程(最新php5.2.13配置方法)_win服务器

在Windows Server 2003的IIS6下配置ISAPI方式的PHP,配置方法是,在IIS的"WEB服务扩展"中,添加一个新的WEB服务扩展,程序后缀为PHP,ISAPI程序为php5isapi.dll,然后再我的电脑->属性->高级->"环境变量"-"系统变量"中增加变量名PHPRC,数值为php.ini的路径,在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择"属性&

IIS+PHP+MYSQL安装配置方法_win服务器

一.安装php 1) 在D盘新建一个名为PHP的文件夹,解压缩php-5.2.0-win32.zip到D:\PHP. 2) 在D:\PHP文件夹下找到php.ini-dist文件,将其复制一份以做备份.将复制后的文件更名为php-ini. 3) 在php.ini文件中找到以下行:extension_dir = "./"(注:该行指定PHP查找扩展的位置),编辑该行,如下所示: extension_dir = "D:/PHP/ext"(注:不要这里用的是斜杠/而不是反

win2003下 iis+php快速稳定的配置方法_win服务器

这里小编根据我们这么长时间的经验,特别分享下windows 2003系统下iis+php的配置方法,简单易用,而且还稳定. 第一步: 下载这个软件就可以了 星外PHP5.2.17自动配置安装包 快捷配置iis php运行环境,这个是星外发布的对于没有对iis配置过php环境的朋友使用,这个版本是安装在c盘的,使用液不会受到影响,默认开启了很多扩展,基本上是php 5.2.*系列中比较稳定的版本了. 根据我们几十台服务器的安全测试,绝对是没有问题的. 第二步:解压后直接安装就可以了,默认下就支持p

Win2008 IIS 7.0+php,MySQL,Zend,phpMyadmin配置图解_win服务器

首先确认你已经把一下程序下载完毕mysql-5.0.41-win32.phpMyAdmin-2.11.3.ZendOptimizer-3.3.0a.php-5.2.5-Win32 首先把php的压缩包解压到E盘,例如E:\php            (也可以是其他盘符,个人喜好而已) 1.IIS 管理器主界面 2.配置ISAPI筛选器 打开站点的ISAPI筛选器,添加一个筛选器. 筛选器名称为php,可执行文件路径为F:\php\php5isapi.dll 3.配置处理程序映射 添加脚本映射

Win7/Windows2003下IIS6.0、IIS7.5的伪静态组件安装和伪静态配置方法_win服务器

1)下载IIS伪静态组件--ISAPI_Rewrite3完全破解版 ISAPI_Rewrite3非常好用,是个人见过最好用同时可以支持多站点的IIS伪静态组件!1.官网下载(http://www.helicontech.com/download/isapi_rewrite/ISAPI_Rewrite3_0073.msi):2.建议从本网站下载破解版:http://www.jb51.net/softs/41171.html2)安装IIS伪静态组件1.以下载本网站的破解版为例:将下载的ISAPI_R

IIS7.5 UrlScan3.1应用防火墙安装配置方法_win服务器

URLScan是一个IIS下的ISAPI 筛选器,它能够限制服务器将要处理的HTTP请求的类型.通过阻止特定的 HTTP 请求,URLScan 筛选器可以阻止可能有害的请求到达服务器并造成危害,URLScan可用于IIS7.5.IIS7.IIS6. IIS7.5下需先安装IIS6元数据兼容性,官网下载:http://www.iis.net/download/urlscan URLScan配置文件:C:\Windows\System32\inetsrv\urlscan\UrlScan.ini 配置

IIS7.5开启FastCGI的配置方法_win服务器

之前在Windows Server 2008中配置PHP的时候安装过一个FastCGI的安装文件,今天在Windows7中安装FastCGI时却告知版本不支持,后来查了一下,原来Windows Server 2008默认是IIS7.0,IIS7.0默认不自带FastCGI,所以需要单独下载安装,而Windows7中的IIS版本是IIS7.5,默认自带FastCGI,只需要开启一下就好了. 具体IIS7.5添加FastCGI的方法如下: 控制面板→程序和功能→打开或关闭Windows功能,在打开的

win2003 64位系统IIS配置方法_win服务器

1.因用模版安装ASP.NET 2.0需先卸载64位的.net2.0 命令:C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe –u 2.把IIS切换为32Bit模式运行 命令:Cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 3.重装安装32Bit .NET 2.0 命令:C:\WINDOWS