0

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:
    [types]
    php=c:\php\php-cgi.exe
    [c:\php\php-cgi.exe]
    exepath=c:\php\php-cgi.exe

  • 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
Peter Mortensen
  • 2,318
  • 5
  • 23
  • 24

2 Answers2

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.

Peter Mortensen
  • 2,318
  • 5
  • 23
  • 24
-1

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...

Peter Mortensen
  • 2,318
  • 5
  • 23
  • 24
VolkerK
  • 103
  • 4
  • does this installer also configure iis? –  Jun 24 '09 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. –  Jun 24 '09 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 http://de.php.net/manual/en/configuration.changes.php#configuration.changes.windows –  Jun 24 '09 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 –  Jun 25 '09 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 03 '10 at 11:45