Thanks! I didn't notice the register_shutdown_function function. But it executes always I want to run it only to track fatal error. Also I can't get the backtrace properly:( I can't use 5.3 so I guess it works differently in 5.2 Richard Quadling wrote: > On 31 August 2010 09:49, Paul Freeman <freeman3@xxxxxxxxxx> wrote: >> When fatal error occurs is it possible to output also the backtrace in >> the error log? The simple error message with file line only is quite >> useless... > > <?php > namespace baz; > > set_error_handler( > function($ErrNo, $ErrStr, $ErrFile, $ErrLine, $ErrContext){ > echo 'An error occurred.', PHP_EOL; > var_export(debug_backtrace(true)); > > // Allow PHP to continue executing. > return false; > }, > -1 > ); > > register_shutdown_function( > function(){ > echo 'We died a terrible death.'; > var_export(debug_backtrace(true)); > } > ); > > function bar() { > echo 'In ', __FUNCTION__, PHP_EOL; > echo 1 / 0; // Divide by zero warning. > foo(); > } > > function foo() { > echo 'In ', __FUNCTION__, PHP_EOL; > $a = \SNAFU; // Fatal error > } > > bar(); > ?> > outputs ... > > In baz\bar > An error occurred. > array ( > 0 => > array ( > 'file' => 'Z:\\bad.php', > 'line' => 24, > 'function' => 'baz\\{closure}', > 'args' => > array ( > 0 => 2, > 1 => 'Division by zero', > 2 => 'Z:\\bad.php', > 3 => 24, > 4 => > array ( > ), > ), > ), > 1 => > array ( > 'file' => 'Z:\\bad.php', > 'line' => 33, > 'function' => 'baz\\bar', > 'args' => > array ( > ), > ), > ) > Warning: Division by zero in Z:\bad.php on line 24 > In baz\foo > > Fatal error: Undefined constant 'SNAFU' in Z:\bad.php on line 30 > We died a terrible death.array ( > 0 => > array ( > 'function' => 'baz\\{closure}', > 'args' => > array ( > ), > ), > ) > > So, it looks like extension or a core mod only. > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php