系统是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,如下图:

wKioL1ZEB5TQJbFHAADpwAlBias862.jpg

将其设置为允许,缺点:这样会使整个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 -i
64位:%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