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
三、下载安装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)网站》属性》主目录》配置》添加
可执行文件填写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就可以得到返回的信息了。
五、错误调试
若出现如同下面的错误,说明你的电脑没有安装VC9运行库 即VISUAL C++ 2008
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运行方式是,测试出现以下错误:
多方查询后发现PHP5.5开始,已不支持xp和win2003上运行了。win2003上只能安装PHP5.4X的版本。
PhpMyadmin出现空密码登录被禁止 (参见 允许空密码)的解决办法 MySQL启动的error 2003和1067错误解决方案
Posts like this breghtin up my day. Thanks for taking the time.