Debugging "Specified Module Not Found" error?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

I am really eager to quit the Microsoft world and get into LAMP. For
the immediate future I can't do the Apache part, so I am at least
trying to get PHP up and running under IIS to learn it.

I used the windows installer .msi to install PHP on a WinXP pro
machine with IIS 5.1.

My current problem is that when I access a test page as in
http://localhost/simple.php I get the message "The specified module
could not be found."

In searching groups, Google, etc., I have found many other users
reporting this issue and I have found many suggested solutions. Most
relate to things like setting up the ISAPI filter, access to the
php5isapi.dll file, etc. I've tried to follow all those instructions
and still can't get it to work. But so many people have reported the
same problem that I'm hoping I'm just doing something really stupid
that is easy to fix.

More details:

I installed PHP using the .msi to "c:\program files\php". My php.ini
is in that same folder. That folder is in my PATH environment

Based on other usenet articles I've read, I've made three changes to
my php.ini:
doc_root = c:\Inetpub\wwwroot
extension_dir =C:\Program Files\PHP\ext
; **You CAN safely turn this off for IIS, in fact, you MUST.**
cgi.force_redirect = 0

In IIS, for the default web site, ISAPI filters tab, I have one item
listed: Filter Name is PHP and status shows a green upward pointing
arrow. If I edit this filter, I have filter name = PHP and executable
= c:\program files\php\php5

In IIS, under the Home Directory tab, Configuration button, I have
tons of items listed in "Application Mappings" but I assume the only
pertinent one is the one that says Extension = .php and Executable
Path = c:\program files\php\php5isapi.dll.

As for security, I have gotten so frustrated that I have granted user
Everyone full access to the c:\program files\php folder and its

If I have the file "c:\inetpub\wwwroot\simple.htm" with contents:

<html>Hello from simple.htm</html>

it displays fine in the browser.

If I create a file "c:\inetpub\wwwroot\simple.php" with contents

<html>Hello from simple.php</html>

and try to load it in the browser, I get a page with source

<html><head><title>Error</title></head><body>The specified module
could not be found. </body></html>


Who is generating this page? Is this coming from PHP? Or IIS? Or what?

Is there anything further I can do to isolate the problem. *Which*
specified module is not being found? Any further troubleshooting
suggestions would be greatly appreciated.


Site Timeline