Been having a fun time today trying to get Magento CMS working. The bizarre situation was that PHP would work fine under the default web site, but not under any other web site, which would result in a 500 Internal Server Error caused by the ZendPHPviaFastCGI PHP handler mapping. See screenshot below. I of course tried every possible solution without success, the cause turned out to be rather obscure.
What was required to fix this was to manually add this attribute to the handler mapping in the applicationHost.config file, which you will find in C:\Windows\System32\inetsrv\config.
allowPathInfo="true"
This parameter does not seem to exist in the IIS Manager and is not even mentioned in the handler docs so I really do really not know why this is required or why it is not there by default and why you cannot add it via the GUI.
So the final entry for my ZendPHPviaFastCGI handler looked like this.
<add name="ZendPHPviaFastCGI" path="*.php" verb="*" modules="FastCgiModule"
scriptProcessor="C:\Program Files (x86)\Zend\ZendServer\bin\php-cgi.exe"
resourceType="Either" requireAccess="Script" allowPathInfo="true" />
Credit must go to my buddy Matt Gahan for working this one out.
Nov 23, 2010 at 3:36 AM This was very useful, I just ran into the same issue
Dec 12, 2010 at 7:52 AM This is not working man! i have installed "ZendServer-php-5.2.10-4.0.5-Windows_x86" on windows server 2008+ iis 7 with the stable package of magento: "magento-1.4.2.0" and its not working. keeps giving me that message.
Jan 30, 2013 at 3:23 PM Thanks a lot, you saved my day!