Во время поиска ответа на этот вопрос я обнаружил, что debug_backtrace()
не отслеживает функцию, зарегистрированную на register_shutdown_function()
, при вызове из нее.
Это было упомянуто в этот комментарий для register_shutdown_function()
в документах PHP, указав:
У вас может возникнуть идея вызвать debug_backtrace или debug_print_backtrace изнутри функции выключения, чтобы отслеживать, где произошла фатальная ошибка. К сожалению, эти функции не будут работать внутри функции выключения.
Объяснение с более подробной информацией, комментарии к этому ответу:
Не работает. Функция выключения происходит после того, как стек отключился. Нет данных о стеке для сброса.
Есть ли способ обойти это, заставляя PHP удерживать трассировку стека до тех пор, пока процесс не завершится вообще, или мы не должны принимать его как заданный из-за внутренних функций PHP?