Используйте функцию set_error_handler()
. Таким образом, вы можете назначить пользовательскую функцию, в вашем случае fatal_error()
, для выполнения, когда PHP встречает ошибку. Вы можете делать все что угодно в своей функции, включая очистку буфера и выход.
EDIT:
Следующий код должен делать то, что вы хотите:
set_error_handler('fatal_error', E_ERROR, E_USER_ERROR);
function fatal_error($errno, $errstr, $errfile, $errline)
{
ob_flush();
exit();
}
РЕДАКТИРОВАТЬ 2:
Вы можете запустить E_ERROR и, следовательно, протестировать функцию fatal_error()
следующим образом:
trigger_error('This is a test error', E_ERROR);