突然心血来潮想着自己一直使用Apache+php的模式,想要了解一下IIS+php的模式。说起来也算是九曲十八弯吧!
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
FastCGI具有稳定,安全,高性能,方便扩展等优点。
利用nginx、spawn-fcgi、fcgi就可搭建一个高并发高性能的FastCGI框架。本文将浅析框架的搭建过程。
PHP的FastCGI使你的所有php应用软件通过mod_fastci运行,而不是mod_phpsusexec。FastCGI应用速度很快 是因为他们持久稳定。不必对每一个请求都启动和初始化。这使得应用程序的开发成为可能,否则在CGI范例是不切实际的(例如一个大型的脚本,或者一个需要 连接单个或多个数据库的应用)。
第一部分:以ISAPI.dll 扩展的形式
结果按照资料上面说的我就是找不到一个isapi.dll这个东西,只有nsapi.dll,最后一查才知道:php5.3以后就不支持这种形式的搭建了。
php5.3是不能在IIS6上面通过ISAPI扩展运行的,而且在php5.3文件里面也没有php5.3isapi.dll,取而代之的是php5.3nsapi.dll,换句话说php5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,只能通过FastCGI的方式执行
第二部分:继续网上搜索了一堆的FastCGI 按照php的教程,可是我又找不到人家说的
“安装后在 C:WINDOWSsystem32inetsrv 目录下产生了五个文件。如下图”

实在是郁闷,更有趣的是,我根据一个博主的详细指导去下载“web平台安装程序”,网址:http://www.iis.net/downloads/microsoft/fastcgi-for-iis
安装时竟然提示我:

我擦、重复不下五遍,而且还在虚拟机上面测试,相同结果。最后我试着搜索了一下:FastCGI,出来了一下结果,就这样成功了,下面就贴出这十步:
1、微软提供的‘web平台安装程序’地址:http://www.iis.net/downloads/microsoft/fastcgi-for-iis

2、我这里是IIS7,点击Web PI 进入下面页面

3、点击下载下的 FastCGIIIS6.exe

4、此时会弹出,我们尝试下载的产品不存在,

5、没关系,我们搜索一下 FastCGI

6、然后测序会自动下载并安装,完成后我们 : 右键:我的电脑->管理->Internet信息服务(IIS)管理器

7、点击FastCGI设置

8、我们去目录地下查看

9、新建一个phpinfo.php 文件,里面写上
phpinfo();
?>

10、访问 http://localhost/phpinfo.php或者http://127.0.0.1/phpinfo.php

好了,大功告成!
写这篇可能没有太多的技术含量,但是对于可能和我犯一样错误的同学会有帮助,因为随着php的发展,IIS也开始重视起来了,原来IIS可能只是支持,现在微软有意想把它做成像很多集成环境一样的赶脚。所以,网上的一些原来的IIS+PHP的教程有时候可能会弄的我们这些新手一头雾水,这里我把自己的经历贴出来,希望可以帮到和我一样的同学。