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