Fork me on GitHub

Win7下,在IIS7中配置PHP的FastCGI支持_笔记

  听说现在要在IIS7下跑PHP不再用ISAPI了,现在都FastCGI了,听说FastCGI比ISAPI好,之前我在Vista下还是用ISAPI配成的PHP环境,这回换7了,在多方考查下,终于也实现了FastCGI,现把过程记录如下。

   在Windows7的控制面板-程序中“打开/关闭Windows功能”,在里面打开IIS,不要忘了打开IIS里的CGI(这个默认是不选的),如下图(不自己截了,直接用微软的图):

 

  然后就是“确定”,等着安装,接下来是PHP了,在“http://windows.php.net/download/”里下载,我下的是VC9 x86 Thread Safe的Zip包,5.3.1的(写文时最新的)。下好后解压到随便哪个目录里,我放到C:\php目录下,做下面的工作:

1、把目录下的php.ini-development改为php.ini,用记事本打开;

2、fastcgi.impersonate=1(并把行首的分号删掉,下同)

3、 cgi.fix_pathinfo=1

4、cgi.force_redirect=0

5、extension_dir="./ext"

6、打开需要的扩展,比如extension=php_mysql.dll

在第6点上我说明一下,一开始照多数文档来做,连php_mssql.dll打一起打开,结果一直不成功,原因是有ext目录里根本就没有php_mssql.dll这个文件,关于mssql的支持我还没搞明白,这里就暂时不打开php_mysql.dll,这样就能顺利通过。

7、这一步很多文档里也没有,date.timezone= Asia/Shanghai(按照PHP的文档,这里不只可以设置成Shanghai,还有Chongqing等地也可以,详情参考:http://www.php.net/manual/en/timezones.asia.php

好了,以上几点做完,PHP部分就可以结束了,可以在“开始-运行-cmd”下试着运行c:\php\php -info和c:\php\php -v,正常来说-info参数可以看到一大堆参数信息,而-v参数可以看到php的版本信息,如果把dll文件不存在的扩展打开了的话,-v时会有提示。

下面,回到IIS上,打开IIS控制台,在左边树中选最顶级结点,也就是你的电脑名,然后在中间(功能视图)里打开“Handler Mappings”(中文叫“处理程序映射”),如下图:

 

打开之后在最右边点“添加模块映射”(Add Module Mapping),照下图添加信息:

 

(对不起,图是微软的,看不清,下面说一下)

请求路径:*.php

模块:FastCgiModule

可执行文件:c:\php\php-cgi.exe(这里说一下,选的时候把类型由dll改成exe)

名称:PHP via FastCGI

然后OK,再然后Yes(如图)

 

重启IIS! 

到此,就可以enjoy了,怎么试?

做一个test.php文件,里面的内容是<?php phpinfo(); ?>,然后在浏览器里打localhost/..../text.php。

(这一界面我用我自己的图,以证明我真配成了)

 

(最后),我其实不太懂PHP,非常菜,只是偶尔用一些PHP源码,所以这里我所写的东西都是说给像我这样很菜的人看的,高人来指点欢迎,羞辱我水平的请绕行,省省键盘。

posted @ 2010-01-17 21:42  豌豆爸爸Aaron  阅读(2633)  评论(3编辑  收藏  举报