Partner and Community Forums
Fix for PHP 5.3 IIS 7 500 Internal Server Error The FastCGI process e...
Last post May 09, 2013 08:00 AM by MM33
Feb 08, 2010 03:00 PM|LINK
Please follow my blog at
Feb 08, 2010 08:21 PM|LINK
Also check out this tutorial if you run into trouble, it lists the steps of the manual install of PHP 5.3 on a Windows 2008 IIS 7 environment so you know where to look if something goes wrong and how to walk through each step and find out where the PHP components
are in the Windows 2008 operating system and web server -
How to install PHP 5.3 on the IIS Windows 2008 Server Platform - if you find anything missing please add it to the comments and it'll be added to the tutorial, it's an on going log and guide for people to use and make better with their own PHP 5.3 on Windows
Web Server 2008 install experience.
500 Internal Server Error
Web Server Enhancement
Windows 2008 Server
Web Host Application
Mar 17, 2010 03:25 AM|LINK
Mar 17, 2010 06:20 AM|LINK
Please let us know details about how are you concluding that Wordpress is crashing in FastCGI mode and please share details about the crash. You can use ADPLUS as described at
http://support.microsoft.com/kb/286350 to troubleshoot hangs and crashes further.
Apr 12, 2010 06:46 AM|LINK
I had a problem with php 5.3.2 and iis7 on windows server 2008 32-bit (on vmware vm) and mysql 5.? and Wordpress 2.9.2. I've had the vm working fine for over a year, with a previous version of wordpress and php, and also using imagick, joomla, and my own
I couldn't install at all - getting 500 error, no php errors in the php error log, and a failed request trace saying about a FCGI process that exited normally.
Turned-out I spelled the name of my mysql database incorrectly! Weird how it resulted in such an error though?
I'm saying this, because I wonder if intermittent errors could be to do with script-timeouts vs database response time-outs etc? Incidentally I've had problems with openbasedir not doing expected things in the past too - I've had to change my design to
accomodate it though I've always needed it as my application pools use user accounts and so I need to be able to use those user-account temporary-file locations preferably. And I like to isolate sites and access to them. Also I had previously come accross
a problem with using "localhost" in a database connector for mysqli after upgrading to php5.3.2 - something to do with localhost resulting in getting the (first) IPV6 address rather than the IPV4 one (part of a mysql process?) from the windows hosts file.
I had to change to 127.0.0.1
Don't know if my blunderings/observations are of any help to anyone.
May 25, 2010 07:36 AM|LINK
From experience here's what i've found out :
IIS will return a generic Internal Server Error 500 if it doesn't have any more specific error from the application, in this case PHP/FastCGI.
To provide IIS with all necessary php error information and NOT display the generic Internal Server Error, do the following to your php.ini file:
log_errors = off
To ensure PHP error messages do make it to the web page do this:
display_errors = on
The level of PHP error reporting can be controlled by (more about this at
error_reporting = E_ALL & ~E_NOTICE
From all of this we can now easily understand how a simple date.timezone unset parameter can end up as an Inernal Server Error 500 on a web page. Normally if you don't set this parameter, PHP would want to report:
Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning,
you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for '-7.0/DST' instead in C:\inetpub\wwwroot\info.php on line 3
and since it could not report it (because of log_errors = on)
IIS has instead returned the generic Internal Server Error message.
Therefore in summary:
I hope this helps somebody.Cheers!
Windows 2008 Server
internal server error 500
May 25, 2010 03:30 PM|LINK
Turning display_errors to On seems like a good idea on a development server. But turning this directive 'On' on a production server can expose some error messages to the client which may be dangerous.
I believe the best way is to configure below directives in php.ini.
error_reporting can be kept to E_ALL or whatever one wants. Also ensure that your web server has sufficient permission to write to the file specified by error_log INI directive.
This will ensure that whenever there is a PHP error it gets logged into the file pointed by error_log at the server side and so only administrator has access to it.
All this suggested settings are automatically done by installing PHP from Microsoft Web platform Installer. Unfortunately WPI doesn't support PHP5.3 (but supports installation of PHP5.2.13 as of now) but we are working on it.
Mar 09, 2011 08:38 AM|LINK
Locally i have a Windows Web Server 2008 machine on which I have installed IIS7, PHP5.3, etc (using Windows Web Platform Installer –
http://www.microsoft.com/web/downloads/platform.aspx). When I test a PHP file in which there is only phpinfo() it works fine. When I try to include files from within my php files (using include(), require(), etc), I get the HTTP 500 Internal error. After
trying several recommendations from forums (like this one), i’ve find a solution.
I’ve downloaded PHP5.3.5 from
http://www.blumentals.net/download/php.php and replaced the contents of the existing PHP (installed using Windows Web Platform Installer) with this one. Problem solved.
Jan 30, 2012 01:26 PM|LINK
The PHP 5.3.5 version listed and IIS 7 Server.
Please update to a more recent version PHP 5.3.9 release install
Mar 07, 2012 01:04 PM|LINK
Thanks for the post - helped alot!
I just wanted to add one additional note here for those trying to get PHP to run on Server 2008 R2 (64bit) - make sure you install the 32bit version of the Microsoft Visual 2008 C++ Runtime. We tried it with the 64bit version of the Runtime, and still got
500 errors. The 32bit version of this solved our issues.