PHP在64位Windows2003和IIS下运行
首先将IIS由64位模式修改为32位模式,只要一个命令即可:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
恢复为64位模式的命令:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
PHP的安装与32位模式下是一样的。
IIS的ASP.NET需要重新注册一下才能用
32位:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
64位:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
如果直接按照上面的步骤配置完成就可以了,下面是没有安装上面步骤操作的一些问题补充:
配置好PHP之后居然出现错误信息:
%1 is not a valid Win32 application
说这不是一个有效的win32程序..
由于系统是64位的..只好将IIS改为32位的工作模式.
于是找到了这条命令,详情参见微软官方的帮助文档"
Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0):
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”
或者
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs
SET W3SVC/AppPools/Enable32bitAppOnWin64 1 //这是一行命令..切勿当成2条语句执行
上面的命令是将将IIS由64位模式修改为32位模式.
更改完模式之后然后按照32位系统配置php即可
如果你要从32位改为64位的.也只需要一个命令
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs
SET W3SVC/AppPools/Enable32bitAppOnWin64 0 //这是一行命令..切勿当成2条语句执行
当然,在更改完之后,PHP是无法运行的了,.NET运行的的话,就需要重新注册一次
32位:%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
64位:%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.40607\aspnet_regiis.exe -i