c#-在ISAPI筛选器上调用LoadLibraryEx失败
作者:互联网
我正在开发一个PHP / C#Soap Service项目,但是在IIS中运行它时遇到了问题.
当我尝试转到ASMX文件或WSDL文件时,出现IIS错误:
HTTP Error 500.0 – Internal Server Error Calling LoadLibraryEx on
ISAPI filter “C:\php\php5isapi.dll” failed
php5isapi.dll位于错误中指定的位置,并将其添加到IIS中的isapi筛选器中.我知道PHP可以正常工作,因为标准.php文件可以正常工作,但是我不明白为什么ASMX / WSDL文件将访问php5isapi dll,因为它不是PHP. soap服务位于C#ASMX Web服务中.
这仅在我在应用程序池中启用32位应用程序的情况下发生.这需要是正确的,因为当它没有抛出ASP异常时指出DLL的格式不正确.
我知道实际的服务可以正常运行,因为它可以在Mono下的Linux上正常运行,因此IIS出了点问题,但是我看不到.
感谢您的任何帮助,您可以提供.
解决方法:
这看起来是一样的问题,不是吗? https://bugs.php.net/bug.php?id=39163
那里的“ Gmail点com上的FreakTrap”建议以下解决方案:
sneakers05’s modification of the Application Pool’s 32-bit setting
also corrected the problem I was having with the php5isapi.dll.For those of us getting the ‘Calling LoadLibraryEx on ISAPI filter
“C:\PHP\php5isapi.dll” failed’ error after an attempted manual
install:
1)从全新安装IIS开始,同时安装ISAPI筛选器和
扩展程序已启用.
2)在主要设置下[位于
您的IIS管理器的层次结构视图,在“应用程序池”上方,添加
按照以下顺序:
> php5isapi.dll的ISAPI筛选器
> php5isapi.dll的ISAPI和CGI限制条目
> php5isapi.dll的处理程序映射
3)转到应用程序池部分.
4)右键单击默认应用程序池,然后选择高级设置.
5)将第二个选项[Enable 32-Bit …]设置为True.
Also, it is important that your ‘Default Website’ not have any unique settings from the top-level configurations. This was causing
my ISS to exhibit some pretty strange behavior, which is why I
recommend that you first delete your default website and create a new
one.
我只是建议一个链接而感到难过,但是看到活动很少,因此认为这可能会有所帮助.
标签:iis-7-5,isapi,asp-net,c,php 来源: https://codeday.me/bug/20191031/1974715.html