明凯博客

关注网站技术,一个特立独行的程序员

Win2003中IIS6配置PHP环境FastCGI的安装配置详解

简介:

我们知道php配置有几种:

1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。
特点是:稳定,但效率太低。

2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。
特点是:多线程,效率较高,但不够稳定。

3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。
特点是:高效率,高稳定性,属于将来发展趋势。

我试过其他的特别麻烦,PHP 5.3发布的Windows版已经不支持ISAPI模式了,所以我打算按微软推荐的FastCGI方式运行PHP。

我用的就第三种,也是最好最快的,因为FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力。

配置方法

一、安装好IIS

具体安装方法可查看:http://down.chinaz.com/server/201102/11_1.htm

二、下载并安装IIS FastCGI

下载地址:http://www.iis.net/download/fastcgi

选择 x86或者download x86,下载下来名称为fcgisetup_1.5_x86_rtw.msi。

安装后会在C:\WINDOWS\system32\inetsrv\目录下多出了5个文件fcgiconfig.js,fcgiext.dll,fcgiext.ini,fcgilicense.rtf,fcgireadme.htm
这个时候在IIS6的”WEB服务扩展”里就多出了一个FastCGI Handler

php1

三、下载安装IIS下的PHP最新版本

下载地址http://windows.php.net/download/,下载VC9 x86 Non Thread Safe的ZIP版本,解压到所需目录,该目录需要给予user读取运行权限。

四、配置和修改内容

1、环境变量修改

我的电脑->属性->高级->环境变量->系统变量,在Path的最后面中加上;E:\PHP\

2、FastCGI安装目录内的修改(注册PHP到FastCGI)

打开C:\WINDOWS\system32\inetsrv\fcgiext.ini文件,在文件最后加上下面的语句:

[Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以,要全部哦不然会报错的。)
php=PHP
[PHP]
ExePath=E:\PHP\php-cgi.exe
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
ActivityTimeout=3600
RequestTimeout=3600

3、PHP.ini的修改,PHP安装目录下是没有PHP.ini这个文件的,只有php.ini-development和php.ini-production,我们把php.ini-development改为php.ini(当然如果你怕有错可以先备份一下)。

注明:首先建一个文件夹命名为TMP,位置随意,我这里放在E:\PHP\tmp。 (upload_tmp_dir会用到,upload_tmp_dir是用来定义上传文件存放的临时路径,这里可以修改并给它定义一个绝对路径,同时需要有读、写权限)。

用搜索(快捷键:Ctrl+F)的方式把下面的关键字改成现在的值:

short_open_tag = Off (这个它本来默认就是这样我们就不要改了。)
把;upload_tmp_dir =改为upload_tmp_dir=”E:\PHP\tmp”
把;cgi.force_redirect = 1改为cgi.force_redirect=0
把;fastcgi.impersonate = 1;改为 fastcgi.impersonate=1;
把; extension_dir = “ext”改为extension_dir=”E:\PHP\ext”
把;date.timezone =改为date.timezone =PRC(如果不修改date.timezone,打开网页的时候蛮有可能提示500错误。也有人把值改为Asia/Shanghai,我没试过你们可以试试。)
在Windows Extensions中去除扩展前面的分号(;):
; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll

4、Internet信息服务(IIS)管理器的修改

(1)网站》属性》主目录》配置》添加

php2

php3

php4

php5

可执行文件填写C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名填写.php。
动作->限制为GET,HEAD,POST。

(2)网站->属性->文档->添加默认内容index.php。这里全部配置好了,一定要把IIS服务重启一下。

5、测试
用文本写一段测试代码:

1
2
3
< ?php
phpinfo();
?>

保存为index.php,名字随便取,只要后缀是.php就可以。把index.php放到根目录下,我这里是C:\Inetpub\wwwroot,然后在浏览器中输入http://localhost/index.php就可以得到返回的信息了。

php6

五、错误调试

若出现如同下面的错误,说明你的电脑没有安装VC9运行库 即VISUAL C++ 2008
php7

Microsoft Visual C++ 2008 Redistributable Package (x86)
下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
下载后安装就可以了。

2014年8月12号更新:

在WINDOWS 2003 SP2上配置 PHP5.54的Fast CGI运行方式是,测试出现以下错误:
PHP11

多方查询后发现PHP5.5开始,已不支持xp和win2003上运行了。win2003上只能安装PHP5.4X的版本。

, , , ,

相关文章

1 条评论 “Win2003中IIS6配置PHP环境FastCGI的安装配置详解

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注