今天作了一下IIS6下升级到PHP 5.3.X,可是却发现了很多问题。在之前PHP 5.2.X中,只须要使用php5isapi.dll的方式就能够,但在PHP 5.3之后却再也不支持ISAPI模式了,也没有此文件。因此本文介绍使用FastCgi在IIS6来配置PHP 5.3运行环境。 php
一、下载PHP 5.3.X mysql
官方下载地址:http://windows.php.net/download/ redis
注意,必定要下载VC9 x86 Thread Safe的,文件名形式如:php-5.3.13-Win32-VC9-x86.zip sql
二、下载FastCGI windows
官方下载地址:http://www.iis.net/extensions/fastcgi api
有支持IIS6和IIS5.1的32位版本和64位版本,还有支持IIS7的,由于IIS7与IIS6差异比较大,因此对于IIS7之后再介绍吧。 浏览器
三、安装FastCgi curl
安装FastCgi没什么可介绍的,可是有一点要注意,就是系统要先安装VC9运行库才能正常运行,不然会报“FastCGI Error 14001 (0x800736b1)”之类的错误。 socket
因此要先安装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
四、开始安装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
五、配置IIS
而后打开IIS管理器,网站上点击右键 -> 属性 -> 主目录 -> 配置 -> 添加
扩展名:.php
可执行文件:C:\WINDOWS\system32\inetsrv\fcgiext.dll (根据本身的安装路径)
动做限制为:GET,HEAD,POST,TRACE
六、测试PHP运行
写个php测试文件
<? phpinfo(); ?>
能看到运行界面说明就成功了!
新版本的PHP5.3经过以往老方法已经不能在IIS上安装了(由于如今php 5.3已经不支持ISAPI了,而是用FastCGI了),如今给出在IIS上安装PHP5.3之后版本的教程。
首先确定是安装IIS了,这个应该不要教吧,不会的能够网上找一找,不少的。
而后下载并安装IIS FastCGI,下载地址:http://www.iis.net/download/fastcgi
选择 x86的,Or, download x86,下载下来名称为 fcgisetup_1.5_rtw_x86.msi。以下图
windows2003+IIS6+PHP5.3.8的安装配置
这个时候在IIS 6的“WEB服务扩展”里就多出了一个FastCGI Handler
windows2003+IIS6+PHP5.3.8的安装配置
再下载安装IIS下的PHP5.3.8,下载地址http://windows.php.net/download(注意IIS下要选择VC9的版本)解压到所需目录,该目录须要给予user读取运行权限。
下面是要配置和修改的内容:
说明
(1)若是你的PHP5.3.8是安装版(即以.msi结尾的)安装完全部的软件就能够直接测试运行,安装过程当中已经帮你配置完成。
(2)若是你的PHP5.3.8是压缩版(即以.zip结尾的)安装完后要做如下配置。
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
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:E:\PHP\
3.PHP.ini的修改
PHP5.3.8安装目录下是没有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)
网站》属性》主目录》配置》添加
可执行文件=C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名= .php
动做》限制为=GET,HEAD,POST
上面的整个操做如图
2)网站》属性》文档》添加
默认内容=index.php
这里所有配置好了,必定要把IIS服务重启一下。
5.测试(必定要重启IIS服务)
最后用文本写一段测试代码:
<?php
phpinfo();
?>
保存为index.php,名字随便取只要后缀是.php就能够。
把index.php(你写的文件)放到根目录下,我这里是C:\Inetpub\wwwroot,
而后在浏览器中输入http://127.0.0.1/index.php或http://localhost/index.php(二者随便一个就能够效果同样)就能够获得返回的信息了。
返回的信息,如图:
PHP5.4.0RC2照此安装同样成功!