If I don\'t catch an exception in PHP, I get a helpful error message in my error.log file with a stack trace. For example, if I run:
error_log($e);
does what you want. It logs exactly the same thing that would have been logged if you didn't catch the exception, minus the word 'Uncaught' at the beginning. It does this because that's what the Exception class's __toString() magic method returns.
You can do this in a catch block:
try {
foo();
} catch (Exception $e) {
error_log("Caught $e");
}
Or in the exception handler:
set_exception_handler(function($exception) {
error_log($exception);
error_page("Something went wrong!");
});