IIS6 配置PHP5.3.X(Fastcgi方式)

微软提升PHP在IIS下的性能 FastCGI Extension for IIS6.0

微软已经和PHP社区共同努力了一年之久,他们终于研发出能让IIS更快地解析PHP的方法,用户们甚至不需要做基准测试就可以明显感觉到PHP解析速度加快.早在2006年,微软就和Zend等厂商一起研发Windows Server下的优化工作,IIS产品组已经公布了IIS6和7的FastCGI扩展,它能让PHP执行效率更高. PHP一直以来是IIS的尴尬,用PHP扩展的速度跟不上其它服务端(甚至还有一些致命问题例如在某内存地址报错),而PHP又比ASP.net普及得多,因此微软需要在IIS+PHP上突破市场. 微软去年底发布了ii6的fastcgi模块,可以免费下载,使用IIS6的您不妨在您的测试环境上试一下,没准会有惊喜哦! 今天将服务器上的php支持改成了fastcgi,目前运行稳定.fastcgi的iis模块可以让流行的应用框架在iis上支持fastcgi协议以提供高性能和可用性的访问服务,fastcgi面向现有的网络服务器提供高性能的cgi替代标准。具体php安装方法我记录下来,其中包括出现的错误.

一、需要的软件:

1.FastCGI For IIS6

下载:http://www.iis.net/extensions/FastCGI

Windows server 2003 32位系统选择: x86

直接下载地址:http://download.microsoft.com/download/E/0/C/E0C0709A-66E5-4113-9A6C-A5F65BF6717D/fcgisetup_1.5_rtw_x86.msi

2.Php5

下载:http://windows.php.net/download/

由于PHP5.3的全新特效及改进,原有的isapi方式解析PHP脚本已经不被支持,PHP从5.3.0以后的版本开始使用微软的fastcgi模式,这是一个更先进的方式,运行速度更快,更稳定!

如何选择PHP5.3的VC9版本和VC6版本

    VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。

    VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。

如何选择PHP5.3的Thread Safe和Non Thread Safe版本

    先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

    再来看PHP的两种执行方式:ISAPI和FastCGI。

    ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;

    而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

3.VISUAL C++ 2008运行库

下载:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn

如果系统已安装,可不用下载

二、安装配置

1.安装FastCGI

直接运行fcgisetup_1.5_rtw_x86.msi,根据提示安装完成即可。

安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图:



同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler。



2.安装PHP


如是可执行exe文件,运行安装,安装时选择安装目录为D:\php5(根据需要选择自己的安装目录,下同);如是压缩文件,解压到相应的目录,如:d:\php5。

3.配置PHP安装FastCGI

打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件。
; This is the configuration file for the FastCGI handler for IIS 6.0.
; The FastCGI handler will look for this file in the same directory as
; fcgiext.dll. By default, the FastCGI installer will place this file into
; the %windir%\system32\inetsrv directory.

在 [Types] 下添加以下配置:
[Types]
php=PHP
[PHP]
ExePath=d:\php5\php-cgi.exe


这里要用:“\”不能用“/”,“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。 (选你自己的安装的目录,下同。)


4. 配置 php.ini


将 d:\php5\php.ini-production 复制一个,然后重命名为 d:\php5\php.ini
根据需要修改php.ini配置文件

找到
; On windows:
; extension_dir = "ext"

改为
; On windows:
extension_dir = "d:\php5\ext"

找到:;fastcgi.impersonate = 1;

改为:fastcgi.impersonate = 1;(把前面的分号去掉)

找到:short_open_tag= Off;

改为:short_open_tag= On


5. 配置网站

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


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

配置好后重新启动网站。


6. 安装 VISUAL C++ 2008运行库

    如已安装过可省略此步。


7. 写个 php 测试下吧

修改完在IIS上或者命令提示符运行iisreset命令重启IIS服务,这步很重要!

测试是否安装成功!
建立一个网站,phpinfo.php文件内容为:
文件:phpinfo.php
<?php
phpinfo();
?>

在浏览器中输入:http://localhost/phpinfo.php查看是否安装成功


安装出现问题及解决办法:


FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------

Error Details:

Error Number: 14001 (0x800736b1).
Error Description: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)


发生此错误的关键原因在于没有安装VC9运行库 即VISUAL C++ 2008

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值