在 64 位 Server 2008 上运行 32 位 IIS

在 64 位 Server 2008 上运行 32 位 IIS

本文介绍如何在 64 位 Server 2003 上运行 32 位 IIS 6.0:http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/iis/13f991a5-45eb-496c-8618-2179c3753bb0.mspx

如何在 64 位 Server 2008 上使用 IIS 7.0 实现相同的功能?

答案1

给出这个简短的问题,我不知道这是否正是您想要做的,但您可以在 IIS 7 和 7.5 中的 AppPool 中运行 32 位 ISAPI 扩展(例如 PHP、Rewrite、自定义扩展等)。

完整内容请参见这篇文章,重要的部分是:

...进入 IIS 7 管理器控制台,找到您的应用程序正在运行的应用程序池,右键单击它,转到高级设置,然后将启用 32 位应用程序设置更改为 true...现在重新启动 IIS(通过管理单元或命令行 w/net stop w3svc 和 net start w3svc),您就可以开始了

答案2

或者查看。不再需要运行 aspnet_regiis,您可以按应用程序池而不是全局在 32 位和 64 位之间切换。这是一个很大的改进。

答案3

对于那些仍然无法找到在本机 64 位 IIS 应用程序池下使用 32 位 DLL 的正确方法的人,无论是通过调整注册表,还是尝试如何处理“COM+ 组件服务”,以及如果您确实需要在 64 位系统中运行 IIS 应用程序池”(因此关闭“启用 32 位应用程序”):我找到了一个完美的解决方案:将 32 位组件“封装”到新的 COM 对象中正如本页所述,这项工作完美地完成了,我想很多人都会对通过这种方式解决问题感兴趣;) http://www.chestysoft.com/component-services.asp

就我而言,这允许我使用 XStandard 的免费组件“XStandard.Zip”,但遗憾的是,该组件仅作为 32 位 ASP 组件提供,并且在注册表中有一个“InProcServer32”项,显然通过调整注册表阻止了它工作,如下所述:https://techtalk.gfi.com/32bit-object-64bit-environment/

在这篇文章中,很多评论都提到“InProcServer32-IDs没有反映出来,因为微软认为这些只是 InProc-Calls,而不是 Out-Of-Proc-Calls“。这也是我的情况,导致我遇到上一篇文章中描述的注册表调整解决方案对我的情况不起作用的情况,其他用户也是如此。

希望能够节省几天...或者几夜的时间!

相关内容