I’ve been trying to serve php pages on my IIS7 machine for some hours now, but could not get it to work.
First it took me some time to figure out there is a extra option
in ‘add/remove windows features’ to seperately install ISAPI options in IIS, but that was not too hard too find out.
But after registering my php4isapi.dll , every time I requested a .php file I got the error:
HTTP Error 404.3 - Not Found
Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.
Error Code: 0x80070032
Notification: ExecuteRequestHandler
Module: StaticFileModule
Requested URL: http://localhost:80/test.php
Physical Path: C:inetpubwwwroottest.php
Logon User: Anonymous
Logon Method: Anonymous
Handler: StaticFile
Wtf, StaticFileHandler? I’m sure I registered the .php extension to the php isapi dll.
After messing around in IIS for some time I found an option ‘Enable 32-Bit applications’ in the ‘advanced settings’ of an application pool.
Setting this property to true made php execute just fine. Would be so much nicer if IIS7 could detect if I register an 32 bit ISAPI and would
ask me if it should enable 32 bit applications automatically.
Being it a problem for 64bit users of Vista only, makes this issue kinda hard to find on the web. Guess there aren’t too many people
with 64 bit vista to try out php hosting yet.