Windows 2003系统安装PHP 5.3的步骤
php从5.3开始不支持isapi,统一用fastcgi方式。
1、IIS安装
这个步骤略,这个很简单。
2、安装IIS FastCGI
下载地址:http://www.iis.net/download/fastcgi。选择 x86或者download x86,下载下来名称为 fcgisetup_1.5_rtw_x86.msi。安装后会在C:\WINDOWS\system32\inetsrv\目录下多出了5个文件fcgiconfig.js,fcgiext.dll,fcgiext.ini,fcgilicense.rtf,fcgireadme.htm
这个时候在IIS6的"WEB服务扩展"里就多出了一个FastCGI Handler。
3、下载PHP 5.3
地址:https://windows.php.net/downloads/releases/archives/
例如:
https://windows.php.net/downloads/releases/archives/php-5.3.29-Win32-VC9-x86.zip
4、安装PHP
将下载的PHP解压放到c盘,例如:C:\php53。完成上面的步骤后,将C:\php53目录下的php.ini-production文件复制一份,改名为php.ini。
5、配置和修改内容
a. 环境变量修改
我的电脑->属性->高级->环境变量->系统变量,在Path的最后面中加上c:\php53
b. FastCGI安装目录内的修改(注册PHP到FastCGI)
打开C:\WINDOWS\system32\inetsrv\fcgiext.ini文件,在文件最后加上下面的语句:
[Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以。)
php=PHP [PHP] ExePath=c:\php53\php-cgi.exe InstanceMaxRequests=10000 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000 ActivityTimeout=3600 RequestTimeout=3600
c. 建一个文件夹命名为TMP,位置随意,我这里放在c:\php53\tmp。 (upload_tmp_dir会用到,upload_tmp_dir是用来定义上传文件存放的临时路径,这里可以修改并给它定义一个绝对路径,同时需要 有读、写权限)。用搜索(快捷键:Ctrl+F)的方式把下面的关键字改成现在的值:
short_open_tag = Off (这个它本来默认就是这样我们就不要改了。)
把;upload_tmp_dir =改为upload_tmp_dir="c:\php53\tmp"
把;cgi.force_redirect = 1改为cgi.force_redirect=0
把;fastcgi.impersonate = 1;改为 fastcgi.impersonate=1;
把; extension_dir = "ext"改为extension_dir="c:\php53\ext"
把;date.timezone =改为date.timezone =PRC
在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
d. Internet信息服务(IIS)管理器的修改
网站 --> 属性 --> 主目录 --> 配置 --> 添加
可执行文件填写C:\WINDOWS\system32\inetsrv\fcgiext.dll,扩展名填写.php。
网站->属性->文档->添加默认内容index.php。
重启iis
net stop iisadmin net start w3svc
6、错误提示
出现这个错误,说明你的电脑没有安装VC9运行库 即VISUAL C++ 2008。
下载安装:
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
FastCGI Error The 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)
虽然这个版本很老,也都不支持了。但对于一些不重要的老应用还是可以跑下,特别是服务器资源比较有限的情况。