• 网站帮助 FAQ

Windows 2003下FastCGI+PHP5的安装教程

2009-11-12

   microsoft开始大力支持php了,Zend公司和微软公司改善了微软的IIS Web服务器的FastCGI模块,它将提高PHP的性能。这个模块免费提供给IIS6和IIS7的用户,可以运行在Windows Server 2003上,并将作为vista和即将推出的Windows Server 2008的一部分。

   近日,微软和PHP社区经过一年的努力,通过FastCGI扩展,终于能让PHP在IIS 7.0上执行效率大增。而此前,PHP曾经是IIS心口上的稳痛,PHP在IIS的扩展速度一直跟不上其他服务端。而免费的FastCGI扩展的出现,使得PHP一越成为Windows平台之上的“一等公民”。


   现在网上很多IIS7下配置PHP的教程还停顿在IIS6的配置阶段,还在用isapi模式,如果是这样,还是直接用IIS6好了,不然IIS7再好,也是浪费。

综合网上教程,我总结修改出以下内容,给有需要的朋友参考:

环境:
操作系统:Windows 2003 Server
PHP版本:PHP5.26

1.安装FastCGI For IIS6
到微软官方网站http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
下载fcgisetup32.msi,下载之后,双击运行进行安装.

2.安装PHP5.26
到http://www.php.net下载.zip格式的版本,下载后解压至D:\Program Files\php5目录,并给"启动IIS进程帐户"赋予'读取'和'运行'权限.

3.注册PHP到FastCGI
在命令行下运行
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"D:\Program Files\php5\php-cgi.exe"
fcgiconfig.js 默认存放目录是:C:\WINDOWS\system32\inetsrv

4.配置php.ini
将D:\Program Files\php5\php.ini-recommended重命名为php.ini (注意:无需拷贝到C:\windows\)
打开D:\Program Files\php5\php.ini,修改:
extension_dir = "D:\Program Files\php5\ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
extension=php_dba.dll 去掉前分号
extension=php_dbase.dll 去掉前分号
extension=php_gd2.dll 去掉前分号
extension=php_mysql.dll 去掉前分号,开启mysql支持
short_open_tag = Off 改为 On,开启<??>短标记
(注意:以上dll文件无需拷贝到C:\windows\system32)
其它根据实际需要对php.ini进行设置修改
复制D:\Program Files\php5\libmcrypt.dll和libmysql.dll 到D:\Program Files\php5\ext目录 (注意:无需拷贝到C:\windows\system32)
然后执行:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:300
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:800
以上两项设置最大池和响应连接数,可以根据运行机器的硬件配置、使用情况修改

5.添加/编辑扩展名映射
打开IIS管理器->网站->主目录->配置->映射->添加: 来自:http://www.cnlive.net
可执行文件:C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名:.php
动作,限制为:GET,HEAD,POST

6.添加系统环境变量
(1)在桌面我的电脑图标点击右键->属性->高级->环境变量->系统变量中找到Path,在值的最后加上D:\Program Files\php5,修改后是这样的:
变量名:Path
变量值:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\Program Files\php5
(2)点新建再添加一个变量名PHPRC值为D:\Program Files\php5

7.最后一步
最好是重起电脑,重起IIS ,开始->运行->CMD->IISRESET /RESTART ,待重起完后就完成所有配置了.

其它:
如果重启IIS后,打开测试页出现如下提示:
FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
Error Details:
Error Number: 5 (0x80070005).
Error Description: 拒绝访问。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
这个错误是由于在解压PHP之后,没有对启动IIS进程帐户(账户名以IWAW_开头)赋予该目录的"读取"和"运行"权限.修改文件夹安全属性,问题解决.

版权所有:济南思沃科技有限公司 地址:济南市高新开发区齐鲁软件园F1
电话:13791052615 邮箱:admin#sivor.net 邮编:250101