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

来源:互联网 发布:知势而后可以加兵的加 编辑:程序博客网 时间:2024/04/30 08:23

听说现在要在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.ini配置

  首先将php.ini-development重命名为php.ini,并将

1
2
3
fastcgi.impersonate=1 默认为0,如果使用IIS,你需要开启
cgi.fix_pathinfo=1
cgi.force_redirect=0 默认开启,如果你使用IIS,可以将其关闭

  其次指定extension_dir目录和date.timezone,即

1
extension_dir = "C:/php53iis/ext"
1
date.timezone= Asia/Shanghai

  其他PHP.INI配置与PHP5.2的配置一样,区别在于,在Windows7 IIS7上配置安装PHP时,并不需要将php.ini及其他文件复制到C:/windows及C:/windows/System32目录下,简单很多。

FastCGI进程意外退出如何解决?

  在使用Windows7 IIS7进行PHP配置安装过程中,如果PHP配置不正确,会出现FastCGI进程意外退出出错信息,此时你可以在DOS下使用

1
C:/php53iis/php.exe -v

进行调试查看,一般情况下会将PHP配置的错误信息报出,你只要根据此信息修改相关PHP配置即可。

  至此在Windows7 IIS7平台上进行PHP5.2和PHP5.3的配置安装工作就介绍完了,应该讲随着PHP版本的提高,PHP的配置工作也越来越简单化。

原创粉丝点击