I am helping a client move her sites to a new server, everything seemed fine until we hit this today.
Basically any PHP fatal error causes a 500 internal error to be shown in the browser, and actually I should say it happens in Chrome, IE but not Firefox (FF shows a white screen).
The server is a brand new box, cpanel, PHP 5.2, Apache etc etc. We have been on the phone with their tech support for hours and their explanation just doesn’t make sense.
They are saying that because error_reporting in PHP is turned off that PHP is only sending headers to Apache which is choking on them and throwing the 500.
For example a test file that only contains the following PHP code (error is on purpose):
echo “this is a string with and extra (”) in it";
Causes the 500 error
At first we thought is was because they were using suPHP but they switched it to dsoPHP and the same thing is happening.
It should be noted we are logging errors to /var/logs/php_errors and they are logging properly, the Apache logs are NOT showing the 500 errors for some reason.
They have recompiled PHP twice with no change BTW.
I am literally at my wits end. This box MUST be up and running properly no later than Sunday night as it has government websites on it and this error is making us nuts. Any help would be truly appreciated!