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