免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2032 | 回复: 0
打印 上一主题 下一主题

Windows2003 IIS 6.0下安装PHP 5.3与 FastCGI [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-06 21:47 |只看该作者 |倒序浏览
原文参考《Windows2003 IIS 6.0下安装PHP 5.3与 FastCGI

本来不打算写这份心得的,这几天为了安装wordpress,得升级一下PHP的版本,于是乎去下了个PHP5.3.10,我在本地已经测试Apache与PHP 5.3的兼容性,参见《Windows下升级Apache 2.0到2.2+PHP 5.1到5.3 》。之前不知道5.3x跟5.0x有那么大的差距,今天当我真的来安装在Windows 2003 IIS 6.0下的php时,才知道PHP5.2x之前系列版本与 IIS 的集成,有两种方式:ISAPI 和 CGI。但是 PHP5.3.10已经摒弃了 ISAPI 方式,PHP5.3.10 与 IIS 的集成只提供 FASTCGI 和 CGI 方式,怪不得我找不到php5isapi.dll这个文件了。囧!

FastCGI简介
     Windows 系统是采用多线程的工作方式,由于CGI模式是建立在多进程的基础之上的(例如Unix/Linux),而非多线程,所以在IIS下以CGI方式运行 PHP会非常慢。在IIS下CGI模式是PHP运行的最安全方式,但CGI模式对于每个HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。

为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。

Windows Server 2008 的 IIS7.0/7.5 里就提供 FastCGI 方式,可以与 PHP 进行集成。而 Windows Server 2003 不提供 FastCGI 方式,所以 PHP5.3.x 要与 Windows Server 2003集成,可以采用 CGI 方式。本部分参考这里。

1. 安装FastCGI
下载一个FastCgi For IIS6 ,到这里去下载,http://www.iis.net/expand/fastcgi

下载完毕之后就安装,安装成功后会在C:\WINDOWS\system32\inetsrv\目录下多了5个文件,如下图:



这个时候在IIS 6的“WEB服务扩展”里就多出了一个FastCGI Handler:

2. 安装PHP
这个比较简单,只需要到官网上下载最新的PHP安装到一个文件夹即可。网上说要把PHP目录下的所有.dll复制到C:\WINDOWS\system32下,我经过测试发现没有必要,反正我是一个dll文件都没有复制。因为php.ini中已经指定了dll在php安装目录的位置。

接下来就是修改php.ini配置文件了。

找到 ;fastcgi.impersonate = 1 ,记得把前面的";"去掉。去掉常用扩展前面的分号。
修改extension_dir = "./" , 把这个修改成extension_dir = "D:/PHP/ext/" 。
开启相应的dll文件。注意要开启这个扩展:
extension=php_xmlrpc.dll
搜索;date.timezone =
去掉前面的分号,将其设置为 date.timezone = Asia/Shanghai 。这一步看起来是必须的,否则就会报错:


3. 注册PHP 到 FastCGI
打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini文件
在[Types]下面添加以下配置:

[Types]
php=PHP
[PHP]
ExePath=D:\PHP\php-cgi.exe

这里比较搞笑的是,我忘了换行,也报错:



4. 配置IIS
打开IIS 6管理器,在"网站"上点右键–>属性–>主目录–>配置–>添加:



5. 测试
把IIS重启一下,这时候可以找个php文件测试一下:

<?php
phpinfo();
>

看到类似以下效果就说明成功了。



参考:
在windows server 2003 IIS6下安装PHP 5.3x的心得
IIS Tutorial Series (Part 1): Installing FastCGI and PHP for IIS 6.0
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP