首页 > 代码库 > win2003 + IIS6.0 + Php5.4(FastCGI)配置

win2003 + IIS6.0 + Php5.4(FastCGI)配置

 说明:本文根据网络文章修改,非完全原创!

一.提醒  

  先简要说下php在iis下运行的方式分ISAPI和FastCGI。从php.5.3.1版本开始,不再提供针对IIS安全线程运行方式(即不提供ISAPI运行php),只支持php的线程安全版本(FastCGI)。有关php的线程安全(thread safe)和非线程序安全(non thread safe),自行百度谷歌。另外,PHP5.5开始,已不支持xp和win2003上运行了,win2003上只能安装PHP5.4X的版本。

二.软件要求及下载

  • IIS6.0
  • Php5.4.0 (VC9 x86 Non Thread safe),下载地址:http://windows.php.net/downloads/releases/php-5.4.0-nts-Win32-VC9-x86.zip
  • FastCGI (for windows),下载地址:http://download.microsoft.com/download/E/0/C/E0C0709A-66E5-4113-9A6C-A5F65BF6717D/fcgisetup_1.5_rtw_x86.msi  ,你也可以通过微软的web platform installer来安装FastCGI。

三.软件安装

1.先安装IIS6.0。然后安装FastCGI,一直点Next就行。安装好后,c:\windows\system32\inetsrv\ 路径下会多出五个关于fastcgi的文件。

其中要重点提醒的是fcgiext.ini这个文件的配置。双击打开它进行编辑。在最下面,除了注释外,把这一段文写进去。

[Types]php=PHP[PHP]ExePath=D:\PHP\php-cgi.exeInstanceMaxRequests=10000ActivityTimeout=300RequestTimeout=600EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000

其中,有两个选项是必填的

[Types]

php=PHP   这个是说明,FastCGI是支持php

另外一个是

[PHP]

ExePath=C:\PHP\php-cgi.exe  为了IIS执行php时,必须找到php-cgi来执行。

其它的参数设置,你可以根据自己的需要来弄。想明白具体含意,也可以上谷歌搜索。

2.php5.4.0安装配置。
把下载的php5.4.0解压到X:盘下(x盘是你自己的硬盘分区,你可以随意定义)。解压后,得到php-5.4.0-nts-Win32-VC9-x86文件夹,把这个文件夹修改成php。(这也是可以随便自义的,修改成php是为了方便记忆)里面关于php.ini设置的文件有两个。一个是php.ini-development(适用于开发环境用 的php.ini),一个是php.ini-production(适用于发布网站用的php.ini),一般我们是正式发布使用的网站,我们会选择 php.ini-production,把php.ini-production重命名为php.ini,然后直接打开,可以编辑里面的内容。重点说说几 个配置文件。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
更改为并去除前面的“;”:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
如果不改以上的date.timezone可能打开网页会提示500错误的,我试了好几次都是这样.

找到
; On windows:
; extension_dir = ”ext”
改为
; On windows:
extension_dir = ”X:\PHP\ext”   (x:为你的分区,php是你的php目录)

找到:fastcgi.impersonate = 1;这句,把前面的;去掉, fastcgi.impersonate = 1,如下图

 

找到:short_open_tag= Off;改为
short_open_tag= On

 记得要修改extension_dir为你的php 扩展目录哦,要不到时候运行不了php的。

至于php.ini里面的extension开启方式,根据自己所需,找到:Windows Extensions 在 Windows Extensions 下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)比如我的是:
extension=php_bz2.dll
extension=php_curl.dll
extension=php_dba.dll
extension=php_mbstring.dll
extension=php_exif.dll

extension=php_mysql.dll(这个是跑mysql的扩展,要用mysql,必须开启)

…………………….

如果你有的php功能用不了,就到php.ini把它们找出来,去掉; 分号启用它们
下面这一步设置是较为重要的设置。

我们需要在windows系统中设置两个环境变量。

1.将 PHP 目录添加到 PATH 环境变量中 (这个是为了让windows找到php执行)
鼠标右键点[我的电脑],选属性,选择“高级”标签页,点击“环境变量”按钮,在“系统变量”栏中找到 Path 这一项(可能需要将滚动条向下滚动才能找到),鼠标双击 Path 这一项在最后加入你的 PHP 目录,包括前面的“;”(如: ;X:\PHP ,记得哦,X盘是你的分区) 点击“确定”

 

2.使 php.ini 文件在 Windows 下被 PHP 所用:


鼠标右键点[我的电脑],选属性,选择“高级”标签页,点击“环境变量”按钮,在“系统变量”栏中
点击“新建”按钮并在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini 文件所在的目录(例如: X:\php ),点击“确定”[如上图所示↑]

三.IIS设置支持php

下面这一步骤是最后一个步骤。

打开IIS管理器,网站上点右键-属性-主目录-配置-添加,配置如下图

 

可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll

 

相关权限配置

我一般是把users的用户权限加上读写。

最后,7. 写个 php 测试下吧
修改完在IIS上或者命令提示符运行iisreset命令重启IIS服务,这步很重要!
测试是否安装成功!
建立一个网站,phpinfo.php文件内容为:
文件:phpinfo.php
<?phpphpinfo();?>

看到类似以下效果说明你的服务器可以跑 php 了。

 

常见错误解决办法:

FastCGI Error
The FastCGI Handler was unable to process the request.
Error Details:
Error Number: 193 (0x800700c1).
Error Description: Unknown Error
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

-》PHP5.5开始,已不支持xp和win2003上运行了。win2003上只能安装PHP5.4X的版本

解决方法:
错误关键在于没有安装VC9运行库 即VISUAL C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn

 

win2003 + IIS6.0 + Php5.4(FastCGI)配置