@@ -1188,6 +1188,36 @@ PHPAPI void php_html_puts(const char *str, size_t size)
1188
1188
}
1189
1189
/* }}} */
1190
1190
1191
+ #if ZEND_DEBUG
1192
+ /* {{{ report_zend_debug_error_notify_cb */
1193
+ void report_zend_debug_error_notify_cb (int type , const char * error_filename , const uint32_t error_lineno , const char * format , va_list args )
1194
+ {
1195
+ if (PG (report_zend_debug )) {
1196
+ zend_bool trigger_break ;
1197
+ char * buffer ;
1198
+
1199
+ vspprintf (& buffer , PG (log_errors_max_len ), format , args );
1200
+
1201
+ switch (type ) {
1202
+ case E_ERROR :
1203
+ case E_CORE_ERROR :
1204
+ case E_COMPILE_ERROR :
1205
+ case E_USER_ERROR :
1206
+ trigger_break = 1 ;
1207
+ break ;
1208
+ default :
1209
+ trigger_break = 0 ;
1210
+ break ;
1211
+ }
1212
+
1213
+ zend_output_debug_string (trigger_break , "%s(%" PRIu32 ") : %s" , error_filename , error_lineno , buffer );
1214
+
1215
+ efree (buffer );
1216
+ }
1217
+ }
1218
+ /* }}} */
1219
+ #endif
1220
+
1191
1221
/* {{{ php_error_cb
1192
1222
extended error handling function */
1193
1223
static ZEND_COLD void php_error_cb (int orig_type , const char * error_filename , const uint32_t error_lineno , const char * format , va_list args )
@@ -1356,24 +1386,6 @@ static ZEND_COLD void php_error_cb(int orig_type, const char *error_filename, co
1356
1386
}
1357
1387
}
1358
1388
}
1359
- #if ZEND_DEBUG
1360
- if (PG (report_zend_debug )) {
1361
- zend_bool trigger_break ;
1362
-
1363
- switch (type ) {
1364
- case E_ERROR :
1365
- case E_CORE_ERROR :
1366
- case E_COMPILE_ERROR :
1367
- case E_USER_ERROR :
1368
- trigger_break = 1 ;
1369
- break ;
1370
- default :
1371
- trigger_break = 0 ;
1372
- break ;
1373
- }
1374
- zend_output_debug_string (trigger_break , "%s(%" PRIu32 ") : %s - %s" , error_filename , error_lineno , error_type_str , buffer );
1375
- }
1376
- #endif
1377
1389
}
1378
1390
1379
1391
/* Bail out if we can't recover */
@@ -2136,6 +2148,10 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
2136
2148
setlocale (LC_CTYPE , "" );
2137
2149
zend_update_current_locale ();
2138
2150
2151
+ #if ZEND_DEBUG
2152
+ zend_register_error_notify_callback ("report_zend_debug" , report_zend_debug_error_notify_cb );
2153
+ #endif
2154
+
2139
2155
#if HAVE_TZSET
2140
2156
tzset ();
2141
2157
#endif
0 commit comments