突然心血来潮想着自己一直使用Apache+php的模式,想要了解一下IIS+php的模式。说起来也算是九曲十八弯吧!
第一部分:以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 文件,里面写上

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

好了,大功告成!
写这篇可能没有太多的技术含量,但是对于可能和我犯一样错误的同学会有帮助,因为随着php的发展,IIS也开始重视起来了,原来IIS可能只是支持,现在微软有意想把它做成像很多集成环境一样的赶脚。所以,网上的一些原来的IIS+PHP的教程有时候可能会弄的我们这些新手一头雾水,这里我把自己的经历贴出来,希望可以帮到和我一样的同学。
后续:
早上起来看到下面三位园友的评论,自己马上去试了试,结果就是:的确是我走了弯路,他们的这种做法更加简洁。好了,也把我更具他们的提示测试的过程简单的贴出来
1、首先确认IIS中启用了CGI功能:

2、IIS 中为了易于PHP程序的安装,增设了PHP Manager模块,下载地址:http://phpmanager.codeplex.com/releases/view/62183,

3、安装过程就不贴图了,直接下一步就好。完成后就会在IIS 中会发现里面多了一个PHP Manager图标项了。双击PHP Manager后,点击“Register new PHP Version”,然后选择好c:php5.6php-cgi.exe,就OK了

4、继续写一个phpinfo.php的文件测试,成功!

5、至于mysql.dll 等什么extension扩展,根据实际需要修改php.ini文件就好了。
php manager for IIS7 是可在 Windows 2008 R2 安装,方便php配置、多版本切换的软件。原先是发布在 codeplex.com 的,现在看起来, codeplex.com 进入了只读的维护状态,原先的下载链接,现在不一定有效了。
过程:
1.访问 https://www.iis.net/downloads/community/2010/09/php-manager-for-iis-7 ,点击右上角的 Download this extension
2.会弹出对话框,确认。大概意思是说,该文件由社区提供,微软不担保,用户下载后自行判断是否安全,建议扫毒
3.之后,会跳转到 https://archive.codeplex.com/?p=phpmanager 页面,点击右上角的 download archive
4.下载得到 phpmanager.zip 文件,解压,其中 releases 目录包含各版本的安装文件,如可将 phpmanager/release/6 里的第二个文件(64位平台)改为.msi的后缀,就可以双击安装了
5.因为测试机是Windows 2016系统,所以安装php manager时,会提示IIS版本不符