IIS 和 Web.Management.PHP

IIS and Web.Management.PHP

无法使用 iisreset,因为使用它后我得到了如下信息:

Attempting stop...
Internet services successfully stopped
Attempting start...
Restart attempt failed.
The service did not respond to the start or control request in a timely fashion. (2147943453, 8007041d)

在事件查看器中我得到以下事件:

IISMANAGER_ERROR_LOADING_PROVIDER_TYPE

IIS Manager could not load type 'Web.Management.PHP.PHPProvider, Web.Management.PHP, Version=1.2.0.0, Culture=neutral, PublicKeyToken=8175de49a9aec91d' for module provider 'PHP' that is declared in %windir%\system32\inetsrv\config\administration.config. Verify that the type is correct, and that the assembly that contains the module provider is in the Global Assembly Cache (GAC).

Exception:System.IO.FileNotFoundException: Could not load file or assembly 'Web.Management.PHP, Version=1.2.0.0, Culture=neutral, PublicKeyToken=8175de49a9aec91d' or one of its dependencies. The system cannot find the file specified.
File name: 'Web.Management.PHP, Version=1.2.0.0, Culture=neutral, PublicKeyToken=8175de49a9aec91d'
   at System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
   at System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
   at System.Type.GetType(String typeName, Boolean throwOnError)
   at Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].


Process:InetMgr
Connection:computer\admin

我打开了 %windir%\system32\inetsrv\config\administration.config 但没有找到任何东西,包括 phpWeb.Management.PHP.PHPProvider 或任何与 php

相关的东西

让 IIS 恢复工作的唯一方法是重新启动服务器

(从评论中复制。)

不幸的是,这些问题是由微软的 7 月补丁引起的,正如过去几天互联网上其他地方所讨论的那样,例如 this

您需要卸载相关补丁才能恢复服务,然后阅读更新后的知识库文章,了解需要哪些额外的补丁或程序来解决问题。