xdebug использует механизм обработчика ошибок для отображения трассировки стека. Если вы извлечете исходники xdebug и загляните в xdebug.c, вы увидите это в строке 801:
if (XG(default_enable) && zend_hash_find(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER]), "HTTP_SOAPACT ION", 16, (void**)&dummy) == FAILURE) {
zend_error_cb = new_error_cb;
zend_throw_exception_hook = xdebug_throw_exception_hook;
}
Функции xdebug_error_cb()
(обратный вызов ошибки) и xdebug_throw_exception_hook()
определены в другом файле, xdebug_stack.c
, и, похоже, не проверяют какие-либо параметры конфигурации, чтобы увидеть, должна ли трассировка стека быть включена в журнал или нет. .. так что единственный вариант - переписать эти функции в php и установить новый обработчик ошибок с помощью функции set_error_handler()
.
Удачи!