<?php
// this makes ob_end_clean raise an error
ob_end_flush();
class ExceptionHandler {
public function __invoke (Exception $e)
{
// this triggers the custom error handler
ob_end_clean();
}
}
// this must be a class, closure does not trigger segfault
set_exception_handler(new ExceptionHandler());
// exception must be throwed from error handler.
set_error_handler(function()
{
$e = new Exception;
$e->_trace = debug_backtrace();
throw $e;
});
// trigger error handler
$a['waa'];
Notice: ob_end_flush(): Failed to delete and flush buffer. No buffer to delete or flush in /in/VpaOO on line 4
Deprecated: Creation of dynamic property Exception::$_trace is deprecated in /in/VpaOO on line 21
Deprecated: Creation of dynamic property Exception::$_trace is deprecated in /in/VpaOO on line 21
Fatal error: Uncaught Exception in /in/VpaOO:20
Stack trace:
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '/in/VpaOO', 10)
#1 /in/VpaOO(10): ob_end_clean()
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#3 {main}
thrown in /in/VpaOO on line 20
Process exited with code 255.
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28
Notice: ob_end_flush(): Failed to delete and flush buffer. No buffer to delete or flush in /in/VpaOO on line 4
Fatal error: Uncaught Exception in /in/VpaOO:20
Stack trace:
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '/in/VpaOO', 10)
#1 /in/VpaOO(10): ob_end_clean()
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#3 {main}
thrown in /in/VpaOO on line 20
Process exited with code 255.
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in /in/VpaOO on line 4
Fatal error: Uncaught Exception in /in/VpaOO:20
Stack trace:
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '/in/VpaOO', 10, Array)
#1 /in/VpaOO(10): ob_end_clean()
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#3 {main}
thrown in /in/VpaOO on line 20
Process exited with code 255.
Output for 7.3.32 - 7.3.33
Fatal error: Uncaught Exception in /in/VpaOO:20
Stack trace:
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '/in/VpaOO', 10, Array)
#1 /in/VpaOO(10): ob_end_clean()
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#3 {main}
thrown in /in/VpaOO on line 20
Process exited with code 255.
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in /in/VpaOO on line 4
Fatal error: Uncaught exception 'Exception' in /in/VpaOO:20
Stack trace:
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '/in/VpaOO', 10, Array)
#1 /in/VpaOO(10): ob_end_clean()
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#3 {main}
thrown in /in/VpaOO on line 20
Process exited with code 255.
Output for 5.3.6 - 5.3.26, 5.4.0 - 5.4.16
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in /in/VpaOO on line 4
Fatal error: Uncaught exception 'Exception' in /in/VpaOO:20
Stack trace:
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '/in/VpaOO', 10, Array)
#1 /in/VpaOO(10): ob_end_clean()
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#3 {main}
thrown in /in/VpaOO on line 20
Process exited with code 139.
Output for 5.3.4 - 5.3.5
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in /in/VpaOO on line 4
Fatal error: Exception thrown without a stack frame in Unknown on line 0
Process exited with code 139.
Output for 5.3.0 - 5.3.3
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush. in /in/VpaOO on line 4
Fatal error: Exception thrown without a stack frame in Unknown on line 0
Process exited with code 139.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /in/VpaOO on line 18
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_FUNCTION, expecting ')' in /in/VpaOO on line 18
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/VpaOO on line 7
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/VpaOO on line 7
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/VpaOO on line 7
Process exited with code 255.