今天做了一下IIS6下升级到PHP 5.3.X,但是却发现了不少问题。在以前PHP 5.2.X中,只需要使用php5isapi.dll的方式就可以,但在PHP 5.3以后却不再支持ISAPI模式了,也没有此文件。所以本文介绍使用FastCgi在IIS6来配置PHP 5.3运行环境。
1、下载PHP 5.3.X
官方下载地址:http://windows.php.net/download/
注意,一定要下载VC9 x86 Thread Safe的,文件名形式如:php-5.3.13-Win32-VC9-x86.zip
2、下载FastCGI
官方下载地址:http://www.iis.net/extensions/fastcgi
有支持IIS6和IIS5.1的32位版本和64位版本,还有支持IIS7的,因为IIS7与IIS6差别比较大,所以对于IIS7以后再介绍吧。
3、安装FastCgi
安装FastCgi没什么可介绍的,但是有一点要注意,就是系统要先安装VC9运行库才能正常运行,否则会报“FastCGI Error 14001 (0x800736b1)”之类的错误。
所以要先安装VC9运行库(即VISUAL C++ 2008)
Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
http://download.microsoft.com/download/5/9/e/59e74271-2b59-49a1-b955-96b69cc34f38/vcredist_x86.exe
配置FastCGI
打开FASTCGI配置文件C:\WINDOWS\system32\inetsrv\fcgiext.ini,在最后[Types]修改为这样的样式
[Types]
php=PHP
[PHP]
ExePath=D:\php\php-cgi.exe
4、开始安装PHP环境
解压php-5.3.13-Win32-VC9-x86.zip压缩包到 d:\php
找到PHP安装目录下的php.ini-production并改名为php.ini文件,也有人使用php.ini-development。
修改PHP.ini文件
找到
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
更改为
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
找到
; On windows:
; extension_dir = "ext"
改为
; On windows:
extension_dir = "D:\php\ext"
查找extension=php_,去掉以下几个扩展前面的分号(基本的几项)。
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
查找short_open_tag = Off,改成On,让其支持短标签。
增加一行(非常重要)
fastcgi.impersonate = 1
开启下面两项
cgi.fix_pathinfo=1
cgi.force_redirect = 0
5、配置IIS
然后打开IIS管理器,网站上点击右键 -> 属性 -> 主目录 -> 配置 -> 添加
扩展名:.php
可执行文件:C:\WINDOWS\system32\inetsrv\fcgiext.dll (根据自己的安装路径)
动作限制为:GET,HEAD,POST,TRACE
6、测试PHP运行
写个php测试文件
<? phpinfo(); ?>
能看到运行界面说明就成功了!