Slowly losing my mind here. I had PHP 5.2 working fine (ISAPI) under IIS, but for some extension I needed 5.3. So no worries, I installed this but it turns out ISAPI is not supplied anymore.

I followed the install tutorials for fastcgi and ended up with a 500 internal server error for every PHP page served.

So my current situation is: I have fastcgi removed. In my websites I have added PHP (head, get, post) and routed them to c:\php\php-cgi.exe.

Result: every PHP page I try (even the ones with just text) gives 404 not found error. Any HTML file I put in the same folder, serves without a hitch.

Who can help me please... How hard can something like this be right? For me apparently very hard.

Extra information:

  • ran the installer as suggested below. Set it to use fastcgi.

  • my fcgiext.ini file looks like this now:

  • from the command-line a 3 line PHP file with just phpinfo(); works fine

  • from the server the same PHP file with just phpinfo(); results in the internal server 500 error.
  • from the server a PHP file with just text works fine
  • when changing the document types in IIS management console and point the PHP extension directly to c:\php\php-cgi.exe results in 404 for every PHP file
  • the php.ini is the php.ini.production file which came in the distribution. No edits were made.

Setting the IIS PHP handler directly to PHP (not via fastcgi) c:\php\php-cgi.exe results in the following:

  • display a PHP page with only text....works fine
  • display a page with only phpinfo(); results in 404 not found

2 Answers 2


I found the problem. In the php.ini there are some values which need to be set for CGI and IIS. The force_redirect needs to be 0. Furthermore, the PHP extension needs to be added in the webextensions sections of IIS.

Those things fixed the problems.


Have you tried the installer .msi?

For the rc4 of php 5.3 it's located at http://windows.php.net/downloads/qa/php-5.3.0RC4-nts-Win32-VC6-x86.msi.

But test it on another non-productive server first. Edit: it's a release candidate anyway, so you might want to try the installer on a test-test-server...

  • does this installer also configure iis?
    – reinier
    Jun 24, 2009 at 20:44
  • you tell me ;-) It's quite a while since I tried the installer but back then, yes, it had a IIS/cgi installer routine. So, if you have a spare VM or an IIS server that doesn't matter (much) it's worth a shot if you're tired of trying the manual installation walktroughs. I'm not sure how well the installer copes with previous incomplete/flawed attempts to install php manually and therefore would really try this on another server first.
    – VolkerK
    Jun 24, 2009 at 21:03
  • ah btw: the installer version I tried made some registry entries that affects the php runtime configuration. You might want to keep an eye on that. The key is HKLM\SOFTWARE\PHP\ as described at de.php.net/manual/en/…
    – VolkerK
    Jun 24, 2009 at 21:08
  • hi, thanks for the help so far. I ran the installer but still no go. Changed a few other things, see my editted begin question for what I tried
    – reinier
    Jun 25, 2009 at 13:09
  • -1 because installer results in all PHP files returning 404 error. 404 means FILE NOT FOUND. But the file exists. So this is an incredibly bad solution.
    – PP.
    Mar 3, 2010 at 11:45

You must log in to answer this question.