Windows 2003下FastCGI+PHP5的安装教程
Windows 2003下FastCGI+PHP5的安装教程
microsoft开始大力支持php了,Zend公司和微软公司改善了微软的IIS Web服务器的FastCGI模块,它将提高PHP的性能。这个模块免费提供给IIS6和IIS7的用户,可以运行在Windows Server 2003上,并将作为vista和即将推出的Windows Server 2008的一部分。
近日,微软和PHP社区经过一年的努力,通过FastCGI扩展,终于能让PHP在IIS 7.0上执行效率大增。而此前,PHP曾经是IIS心口上的稳痛,PHP在IIS的扩展速度一直跟不上其他服务端。而免费的FastCGI扩展的出现,使得PHP一越成为Windows平台之上的”一等公民”。
。
现在网上很多IIS7下配置PHP的教程还停顿在IIS6的配置阶段,还在用isapi模式,如果是这样,还是直接用IIS6好了,不然IIS7再好,也是浪费。
综合网上教程,我总结修改出以下内容,给有需要的朋友参考:
环境:
操作系统:Windows 2003 Server
PHP版本:PHP5.26
1.安装FastCGI For IIS6
到微软官方网站http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
下载fcgisetup32.msi,下载之后,双击运行进行安装.
2.安装PHP5.26
到http://www.php.net下载.zip格式的版本,下载后解压至C:\PhpMySql\php目录,并给”启动IIS进程帐户”赋予’读取’和’运行’权限.
3.注册PHP到FastCGI
在命令行下运行
C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -add -section:"PHP" -extension :"php" -path:"C:\PhpMySql\php\php-cgi.exe"
默认存放目录是:C:\WINDOWS\system32\inetsrv
4.配置php.ini
将C:\PhpMySql\php\php.ini-recommended重命名为php.ini (注意:无需拷贝到C:\windows\)
打开C:\PhpMySql\php\php.ini,修改:
extension_dir = “C:\PhpMySql\php\ext”
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
extension=php_dba.dll 去掉前分号
extension=php_dbase.dll 去掉前分号
extension=php_gd2.dll 去掉前分号
extension=php_mysql.dll 去掉前分号,开启mysql支持
short_open_tag = Off 改为 On,开启?>短标记
(注意:以上dll文件无需拷贝到C:\windows\system32)
其它根据实际需要对php.ini进行设置修改
复制C:\PhpMySql\php\libmcrypt.dll和libmysql.dll 到C:\PhpMySql\php\ext目录 (注意:无需拷贝到C:\windows\system32)
然后执行:
C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -set -section:"PHP" -InstanceM axRequests:300 C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -set -section:"PHP" -Environme ntVars:PHP_FCGI_MAX_REQUESTS:800
以上两项设置最大池和响应连接数,可以根据运行机器的硬件配置、使用情况修改
5.添加/编辑扩展名映射
打开IIS管理器->网站->主目录->配置->映射->添加: 来自:http://www.cnlive.net
可执行文件:C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名:.php
动作,限制为:GET,HEAD,POST
6.添加系统环境变量
(1)在桌面我的电脑图标点击右键->属性->高级->环境变量->系统变量中找到Path,在值的最后加上C:\PhpMySql\php,修改后是这样的:
变量名:Path
变量值:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\PhpMySql\php
(2)点新建再添加一个变量名PHPRC值为C:\PhpMySql\php
7.最后一步
最好是重起电脑,重起IIS ,开始->运行->CMD->IISRESET /RESTART ,待重起完后就完成所有配置了.
其它:
如果重启IIS后,打开测试页出现如下提示:
FastCGI Error
The FastCGI Handler was unable to process the request.
——————————————————————————–
Error Details:
Error Number: 5 (0x80070005).
Error Description: 拒绝访问。
HTTP Error 500 – Server Error.
Internet Information Services (IIS)
这个错误是由于在解压PHP之后,没有对启动IIS进程帐户(账户名以IWAW_开头)赋予该目录的”读取”和”运行”权限.修改文件夹安全属性,问题解决.
PHP版本:php-5.3.0-Win32-VC9-x86.zip
XP IIS5.1
按照网上的教程安装PHP 5.3 安装好后还是提示如下错误:
引用内容
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)
错误关键在于没有安装VC9运行库 即VISUAL C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
安装后即能正常使用了.
附带配置方法:
先下载FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 – RC (x86)http://www.iis.net/downloads/default.aspx?tabid=34&i=1877&g=6
解压下载的PHP文件,我是放在C:\php目录下
修改PHP.INI文件 PHP为我们提供了2个文件php.ini-development(开发版的) php.ini-production(用于生产的)
一般自己电脑上测试用php.ini-development
将 C:\php\php.ini-development 复制一个,然后重命名复制为php.ini
打开 php.ini,修改:
extension_dir = “C:\php\ext”
date.timezone =PRC其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完记得重启 IIS
修改 C:\WINDOWS\system32\inetsrv\fcgiext.ini
最下面的:
[Types]
php=PHP
[PHP]
ExePath=C:\php\php-cgi.exe
然后在IIS中做php的映射—–右键网站 => 属性 => 主目录 => 配置 => 添加
可执行文件选C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名写.php
动作为 GET,HEAD,POST
附:如果确定键是灰色,不能点,点几下可执行文件的路径后就可以点了~~~
最活跃的读者