PHP suddenly failed after IIS update

Posted by James Hay on Server Fault See other posts from Server Fault or by James Hay
Published on 2012-06-05T20:48:03Z Indexed on 2012/06/05 22:41 UTC
Read the original article Hit count: 2105

Filed under:
|
|

All my application pools were stopped this morning after I got to work. I can restart them, but when I try to load the website the app pool crashes again.

Update: I've looked in the GAC as the error below suggests and it seems that the file is not there. How do I get it back?

Update 2: I found a further error in the event log saying

The Module name FastCgiModule path C:\WINDOWS\System32\inetsrv\iisfcgi.dll
returned an error from registration.  The data is the error.

So following the information from here http://forums.iis.net/t/1153937.aspx I removed CGI and my sites are working again. This has fixed the initial problem, but now I don't have FastCGI so I'm fairly sure that PHP will no longer be working (I don't have any PHP at the moment to test).

Original Post

I'm getting this error in the event viewer:

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:CT211511\Administrator

Everything was working fine last night when I left work, and since they've done the maintenance it's all broken.

© Server Fault or respective owner

Related posts about php

Related posts about iis