debugging 返回函数堆栈的PHP命令[duplicate]

yeotifhr  于 2023-02-09  发布在  PHP
关注(0)|答案(1)|浏览(133)
    • 此问题在此处已有答案**:

Print PHP Call Stack(16个答案)
三年前关闭了。
我以前用过,但今天,经过几次失败的搜索,我一直无法找到我要找的东西。
一个PHP命令,它将返回调用函数的名称和调用它的函数,大约5层。
任何帮助将不胜感激!

jc3wubiy

jc3wubiy1#

我认为您正在查找debug_print_backtrace。从the docs
debug_print_backtrace()打印一个PHP回溯。2它打印函数调用,包含的/必需的文件和eval()ed的东西。
然而,如果你不想立即打印数据,而是想返回数据,你可以使用debug_backtrace(),将其保存到一个var中,并且只使用['function']索引。当然,这个函数在its documentation中也有更好的描述。
例如,如果你想在通过try catch捕获异常后得到堆栈跟踪,你也可以使用:

try {
    // stuff
} catch(\Exception $e){
     $stackTrace = $e->getTraceAsString();
     // do whatever you want to with your stack trace
}

您也可以使用以下命令创建新的Exception

$e = new \Exception;

并通过获取堆栈跟踪

$e->getTraceAsString();

该函数也在the documentation中进一步解释。

相关问题