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

三.软件安装

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

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

[Types]

php=PHP

[PHP]

ExePath=D:\PHP\php-cgi.exe

InstanceMaxRequests=10000

ActivityTimeout=300

RequestTimeout=600

EnvironmentVars=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

时间: 2025-01-05 18:22:37

win2003 + IIS6.0 + Php5.4(FastCGI)配置的相关文章

Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程

准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14 MySQL版本:MySQL5.5.25 二.相关软件下载: 1.PHP下载地址: http://windows.php.net/downloads/releases/php-5.3.14-nts-Win32-VC9-x86.zip 2.MySQL下载地址: http://gd.tuwien.ac.at/db/mysql/Downloads/MySQLInstaller/my

WIN2003 IIS6.0+PHP+ASP+MYSQL优化配置

因为WINDOWS 2003 的 IIS 6.0 默认是没有安装开启对ASP的支持 这要我们手动去配置 这一步很简单 一 首先在控制面板里运行"添加删除程序" 选择安装IIS 6.0 安装后IIS 6.0就默认开启了对ASP的支持 如果发现未允许运行ASP 可按 A B C 步骤去开启A:在开始菜单-->程序-->"管理工具"里打开 IIS 6.0 选择 "WEB 服务扩展"B:点选 Active Server Pages 组件 和

iis6.0+php5.6无法加载firebird模块

前日一新项目,内容为将客户代码数据从本司开发服务器迁移至客户服务器 客户服务器环境:windows2008 iis6+php5.5.7+mysql5.6 代码使用加载使用firebird.dll扩展模块 但在php.ini中已经将extension=php_pdo_firebird.dll打开 在phpinfo信息页面还是无法显示加载 经google后,有人遇到过此类的情况,解决方法如下: 下载解压Firebird-2.5.6.27020-0_x64.zip包,点击下载 将lib目录下的fbcl

win2003 IIS6.0下部署asp.net MVC4

今天要把一个在.net Framework 4.5开发的一个MVC的网站迁移到一台win2003的一个服务器上,IIS是6.0版本. 服务器环境: 1.win2003企业版+SP2 2.IIS 6.0 3..net Framework 4.0(win2003不支持4.5). 环境都弄好之后开始设置IIS. 1.右键点"默认网站"->"新建"->"虚拟目录"来添加一个虚拟目录. 2.打开新建的虚拟目录的属性,在"虚拟目录&qu

C#网站发布 和 IIS6.0中网站的配置

网站发布步骤 1.web层,右键选择“发布”.2.选择发布网站到哪个路径下:  注释:当目标位置不是本地路径时,ftp://需要输入文件服务器的用户名和密码才可以发布.文件服务器当然也要创建相应的用户喽! 网站发布后的IIS配置一.将网站配置到IIS的根目录下:(http://localhost)1.打开IIS管理器: 2.选择默认网站----属性:   3.选择asp.net,选择版本:   4.选择主目录:浏览选择该网站的发布目录(发布后文件存放的目录)   5.选择网站:IP地址,未分配(

IIS6+ASP+PHP5+MySQL5

本次配置PHP的服务器环境:Windows2003+IIS6+ASP+PHP5+MySQL5整个配置过程需要是使用拥有管理员权限的系统帐号登录Windows在整个配置过程中所示的截图可能根据各使用的系统不同,窗口界面而有所不同,但对应的选项卡栏目是相同的,只需要找到提到的对应选项卡即可 今天在03下的iis6.0配置php-5.3.10 都知道此版本以不支持ISAPI方式,只能用FastCGI 环境基本配置好后,测试页,提示如下错误: The FastCGI Handler was unable

Windows 2003 + IIS6.0 相关 401.1 或 401.2 等问题解决

我自己处理的过程: 1. 问题场景: 1.1 我本身有一个虚拟机为 win2003 + iis6.0 的环境 c:\ 为NTFS 格式 D:\为Fat32 格式 1.2 我需要部署一个 asp.net wcf 服务   .net framework 4.0 2. 问题描述 一开始我把我的 wcf服务部署在  D:\wwwroot 于是 一直提示我 需要输入 windows验证, 后来发现是 因为我在  网站属性-> 目录安全性->和访问控制-> 中勾选了,集成身份验证, 于是 我把这个设

64位win2003/win2008系统IIS6.0/7.5配置PHP的方法

64位win2003/win2008系统IIS6.0/7.5配置PHP的方法 32位的win2003系统配置PHP,估计很多人都已经驾轻就熟了,不过当遇到64位的系统时,估计又会遇上新的问题了.本文记录了我在64位win2003/win2008系统IIS6.0/7.5配置PHP的方法,第一次配置的人可以参考参考. 64位win2008系统IIS7.5配置PHP环境 用惯IIS6.0的人,对IIS7.5的界面尤为陌生,操作习惯也大不一样,不过这都很容易就上手,就如第一次操作IIS6.0一样. 64

Windows 2003 IIS6.0下配置ASP+MySQL+PHP+ISAPI_Rewrite+Zend+Xcache

windows 2003,自己买吧... 安装IIS6.0:安装系统后在"控制面板"->"添加或删除程序"->"添加/删除Windows组件"->双击"应用程序服务器"->然后选中"Internet信息服务(IIS)"->确定->安装完毕... 下载PHP:http://cn2.php.net/get/php-5.2.5-Win32.zip/from/this/mirro