今天试了一下升级到PHP 5.4.45,但是却发现了不少问题。在以前PHP 5.2.X中,只需要使用php5isapi.dll的方式就可以,但在PHP 5.3以后却不再支持ISAPI模式了,也没有此文件。所以本文介绍使用FastCgi在IIS6来配置PHP 5.3以上的运行环境。
一、下载PHP 5.4.45
这里根据自己的情况下载对应的版本,我是IIS,这里下载 VC9 x86 Non Thread Safe 这个(文件名是 php-5.4.45-nts-Win32-VC9-x86.zip),如果你是apache的话就下载VC9 x86 Thread Safe这个(文件名是 php-5.4.45-Win32-VC9-x86.zip)。
另外从PHP5.5开始,已不支持xp和win2003上运行了,因此win2003上只能安装PHP5.4X的版本,这个大家需要注意了,不要再下载更高版本了。
二、下载FastCGI
有支持IIS6和IIS5.1的32位版本和64位版本,还有支持IIS7的,因为IIS7与IIS6差别比较大,所以对于IIS7以后再介绍吧,下载下来名称为 fcgisetup_1.5_rtw_x86.msi。
三、安装FastCgi
安装FastCgi没什么可介绍的,安装后会在 C:WINDOWSsystem32inetsrv 目录下多出了5个文件fcgiconfig.js,fcgiext.dll,fcgiext.ini,fcgilicense.rtf,fcgireadme.htm 。
![IIS6下配置PHP 5.3运行环境的教程](http://www.22ba.com/uploadfile/2016/1125/20161125053120798.jpg)
但是有一点要注意,就是系统要先安装VC9运行库才能正常运行,否则会报“FastCGI Error 14001 (0x800736b1)”之类的错误,文章最后面会提供下载地址。
四、配置FastCGI
打开FASTCGI配置文件 C:WINDOWSsystem32inetsrvfcgiext.ini ,在最后[Types]修改为这样的样式
[Types]php=PHP[PHP]ExePath=D:phpphp-cgi.exe
五、开始安装PHP环境
解压 php-5.4.45-nts-Win32-VC9-x86.zip 压缩包到 d:php,该目录需要给予user读取运行权限。
找到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.timezonedate.timezone = Asia/Shanghai
找到
; On windows:; extension_dir = "ext"
改为
; On windows:extension_dir = "ext"
查找extension=php_,去掉以下几个扩展前面的分号(基本的几项)。
extension=php_curl.dllextension=php_gd2.dllextension=php_mbstring.dllextension=php_mysql.dllextension=php_mysqli.dllextension=php_pdo_mysql.dllextension=php_xmlrpc.dll
查找 short_open_tag = Off ,改成 On ,让其支持短标签(非必须)。
查找
; fastcgi.impersonate = 1
改为
fastcgi.impersonate = 1
查找
; cgi.fix_pathinfo = 1
改为
cgi.fix_pathinfo = 1
查找
;cgi.force_redirect = 1
改为
cgi.force_redirect = 0
六、配置IIS
(1)网站》属性》主目录》配置》添加
![IIS6下配置PHP 5.3运行环境的教程](http://www.22ba.com/uploadfile/2016/1125/20161125054307791.gif)
![IIS6下配置PHP 5.3运行环境的教程](http://www.22ba.com/uploadfile/2016/1125/20161125054307190.gif)
![IIS6下配置PHP 5.3运行环境的教程](http://www.22ba.com/uploadfile/2016/1125/20161125054307279.gif)
![IIS6下配置PHP 5.3运行环境的教程](http://www.22ba.com/uploadfile/2016/1125/20161125054307385.gif)
可执行文件填写C:WINDOWSsystem32inetsrvfcgiext.dll
扩展名填写.php。
动作->限制为GET,HEAD,POST。
(2)网站->属性->文档->添加默认内容index.php。这里全部配置好了,一定要把IIS服务重启一下。
七、测试
用文本写一段测试代码:
<?php
phpinfo();?>
保存为index.php,名字随便取,只要后缀是.php就可以。把index.php放到根目录下,我这里是C:Inetpubwwwroot,然后在浏览器中输入http://localhost/index.php就可以得到返回的信息了。
八、若出现如同下面的错误,说明你的电脑没有安装VC9运行库 即VISUAL C++ 2008。
FastCGI ErrorThe FastCGI Handler was unable to process the request.-------------------------------------------------------Error Details:Error Number: 14001 (0x800736b1).Error Description: ????????????????????????????HTTP Error 500 - Server Error.Internet Information Services (IIS)
Microsoft Visual C++ 2008 Redistributable Package (x86)