From 4890bf19aa319b8f793d8ebc73d094c3bdeb3d67 Mon Sep 17 00:00:00 2001 From: Benjamin Eberlei Date: Fri, 17 Jul 2020 15:51:09 +0200 Subject: [PATCH] Add error notification callbacks to UPGRADING.INTERNALS --- UPGRADING.INTERNALS | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index db249ea425..bec30c8314 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -21,6 +21,7 @@ PHP 8.0 INTERNALS UPGRADE NOTES r. Cannot implement Traversable only s. zend_fcall_info no_separation flag removed t. Signature changes + u. Error Notification callbacks to replace zend_error_cb overwrite use-cases 2. Build system changes a. Abstract @@ -172,6 +173,22 @@ PHP 8.0 INTERNALS UPGRADE NOTES 4. Argument int to size_t in Zend Engine 4.0: - zend_set_hash_symbol() + u. Instead of overwriting zend_error_cb extensions with debugging, monitoring + use-cases catching Errors/Exceptions are strongly encouraged to use + the new error notification API instead. + + Error notification callbacks are guaranteed to be called regardless of + the users error_reporting setting or userland error handler return values. + + Register notification callbacks during MINIT of an extension: + + void my_error_notify_cb(int type, + const char *error_filename, + uint32_t error_lineno, + zend_string *message) { + } + zend_register_error_notify_callback(my_error_notify_cb); + ======================== 2. Build system changes ======================== -- 2.50.1