debug_backtrace () из зарегистрированной функции выключения в PHP

Обдумывая ответ на этот вопрос , я обнаружил, что debug_backtrace () не отслеживает за пределами функции, зарегистрированной в register_shutdown_function () , когда вызывается изнутри.

Это было упомянуто в этом комментарии для register_shutdown_function () в документации PHP, где говорится:

Вы можете получить идею вызвать debug_backtrace или debug_print_backtrace изнутри функции выключения. , чтобы отследить, где произошла фатальная ошибка. К сожалению, эти функции не работают внутри функции выключения.

Объясняется более подробно, в комментариях к этот ответ говорится:

Не работает. Функция выключения происходит после раскрутки стека. Нет информации о стеке для сброса.

Есть ли способ обойти это, заставив PHP удерживать трассировку стека до тех пор, пока процесс не завершится полностью, или мы должны принять это как данность из-за внутренних особенностей PHP?

23
задан Community 23 May 2017 в 11:53
поделиться