I am using FastCGI to setup PHP. I've followed the instructions on the iis.net website. I added the handler mapping, edited the php.ini file as specified. None of it works, I just get a 404.0 error saying "The page you are looking for has been removed", even though the physical path displayed on the error page exists. After trying this manual method (unzipping php, manually adding handle mapping, etc), I removed everything and I tried the Web Platform Installer (ugh) but I still have the same issue.
A little more information:
The Detailed Error page says the handler is my StaticFile handler (not PHP FastCGI). It also gives error code 0x80070002
When I look at the logs, it shows "GET /php.ini" as giving the 404 error. Why is IIS looking for that?
-
I dealt with a similar issue, all replies I could find on the web were of no help whatsoever. First off I assume you have tried running http://yourservernamehere/check.php and everything seems to come back correct. IF this is the case I would suggest checking in your php.ini file the setting under:
[Date] ; Defines the default timezone used by the date functions date.timezone =
Most likely it is blank like mine was, this generates a silly error with newer version of php and for whatever reason you will be dead in the water until you have a timezone specified (mine is America/Chicago).
I may be assuming a lot about your situation but it sounds very similar to mine and I spent several days frustratedly searching for an answer.
scotty2012 : It was blank, but adding the timezone did not fix the issue.Charles : Sorry to hear that, but maybe you saved yourself some more headche for further down the road at least. Reading your question again I see you went back and reinstalled with the installer, in my experience that does not typically work, I would suggest going back to the manual install method before even beginning to continue troubleshooting. Also, did you add the location of the install to your environment variables?scotty2012 : I have started over with the manual installation. It's now showing that it's using my 'PHP via FastCGI' mapping, but still results in a 404 page.From Charles -
Is there any reason you aren't using the installer to do the work for you?
Also, can you confirm that the .php handler mapping is correctly set?
Path : *.php State : Enabled Path Type : File or Folder Handler : FastCgiModulescotty2012 : THe installer resulted in the same problem. When I browse to the page on the server, it shows that it's using the FastCGI module. I am positive the mapping is correct.From Matthias Vance -
Well, I'm not sure what I did, but somehow I fixed it. I removed the website and re-added it, then checked my FastCGI Mapping settings, everything looked just like before, but this time it works. I'd still like to know why I was getting the error if possible.
From scotty2012 -
By default IIS will not serve any file for which it does not have a valid MIME Type mapping and will 404 the response
If the .php extension does not have a MIME type defined for it for the website that you're trying to run PHP then IIS will not serve the file even if there is a relevant handler for that file type.
Just checked the IIS 7 Manager on my server and there is no mapping for PHP by default in the MIME Types list, I suspect that if your website existed before you installed FastCGI it does not automatically add the mapping to existing websites whereas when you created the new website FastCGI was already installed.
I could of course be completely wrong about that last bit but the File extension to MIME Type mapping issue is a security feature of IIS - no mapping = no files served with that extension
From RobV
0 comments:
Post a Comment