ID: 45592 User updated by: andy at boeckler dot org -Summary: E_STRICT-warnings throws HTTP 500 error when display_errors is off w/o ob_flush Reported By: andy at boeckler dot org Status: Open Bug Type: Output Control Operating System: Linux PHP Version: 5.2.6 New Comment:
Update: ob_flush() doesn't change anything ... I accidentally tested it with display_errors=ON Previous Comments: ------------------------------------------------------------------------ [2008-07-22 15:13:17] andy at boeckler dot org Description: ------------ I'm getting Ajax-Request-Failures since PHP5 throws HTTP-500 Errors back. This was not the case before upgrading from PHP4. This is annoying: * E_STRICT are filtered out * when display_errors is ON, the request is OK! * display_errors ON is no option on a productionserver It only works, when ob_flush() is called before exit() (see staticFunc2) Reproduce code: --------------- <?php error_reporting(E_ALL & ~E_NOTICE); // NO E_STRICT is in here ini_set('display_errors', 'off'); //ini_set('display_errors', 'on'); class Test { public staticFunc() { echo 'boo'; exit(); } public staticFunc2() { echo 'boo'; ob_flush(); exit(); } } Test::staticFunc(); ?> Expected result: ---------------- HTTP 200 Actual result: -------------- HTTP 500, w/o ob_flush() when display_errors is off HTTP 200, w/o ob_flush() when display_errors is ON HTTP 200, with ob_flush() ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45592&edit=1