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 thephp.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
Best Answer
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.