系统是64位windows 2003下的php运行
配置好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):
经常碰到32位的DLL什么的不能在64位Windows的IIS上调用,在网上找到这篇文章也许能够解决很多问题。总的思路就是先允许IIS支持32位程序,然后再用.Net Framework注册IIS。64位版本的iis并不提供Microsoft OLE DB Provider for Jet驱动支持,所以,如果想在64位windows下使用asp或者asp.net连接access,需要将iis以32位的模式进行连接。以下转载自其他网站的64位系统下32位iis与64位之间转换的方法。
IIS6上的做法:
1.命令行键入:
cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
即设置IIS6允许32位程序运行在64位机器上
2.重新注册.net FrameWorks
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
3.完成之后,应该会看到多出一个32位的asp.net,如下图:
将其设置为允许,缺点:这样会使整个IIS上的所有站点都以32位兼容方式运行
然后再运行一下:%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
这样就可以跑32位的程序了。
ASP.NET 2.0,32 位版本
要运行 32 位版本的 ASP.NET 2.0,请按照以下步骤操作:
1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
2. 键入以下命令启用 32 位模式:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3. 键入以下命令,安装 ASP.NET 2.0(32 位)版本并在 IIS 根目录下安装脚本映射:
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607(32 位)的状态设置为允许。
ASP.NET 2.0,64 位版本
要运行 64 位版本的 ASP.NET 2.0,请按照以下步骤操作:
1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
2. 键入以下命令禁用 32 位模式:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
3. 键入以下命令,安装 ASP.NET 2.0 版本并在 IIS 根目录下安装脚本映射:
%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607 的状态设置为允许。
注意:ASP.NET 2.0 的内部版本可能随当前发行的内部版本的变化而变化。这些步骤适用于内部版本 2.0.40607。
========================================================
或者
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 -i64位:%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.40607\aspnet_regiis.exe -i
==========================
64位系统安装32位SQL2005 出警告
安装SQL 2005 出现警告 64位ASP.NET已经注册,需要注册32位
注册32位.net的二个命令:
cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
和
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
------------------------------------
安装SQL 2005 出现警告 32位ASP.NET已经注册,需要注册64位
注册64位.net
cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
和
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i