当前位置 主页 > 服务器问题 > win服务器问题汇总 >

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

    栏目:win服务器问题汇总 时间:2019-03-07 09:34

    听说现在要在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源码,所以这里我所写的东西都是说给像我这样很菜的人看的,高人来指点欢迎,羞辱我水平的请绕行,省省键盘。