函数名: debug_backtrace()
适用版本: PHP 4, PHP 5, PHP 7
用法: debug_backtrace() 函数用于获取当前调用堆栈的详细信息,用于调试和错误追踪。该函数返回一个数组,数组中每个元素都是一个关联数组,表示一帧的堆栈信息。每个关联数组包含以下键值:
示例:
function foo() {
bar();
}
function bar() {
baz();
}
function baz() {
$trace = debug_backtrace();
foreach($trace as $frame) {
echo $frame['function'] . ' called in ' . $frame['file'] . ' on line ' . $frame['line'] . PHP_EOL;
}
}
foo();
输出:
foo called in example.php on line 4
bar called in example.php on line 9
baz called in example.php on line 14
在上面的示例中,我们定义了三个函数 foo(),bar() 和 baz(),并调用了 foo() 函数。当调用 debug_backtrace() 函数时,在 baz() 函数中的 foreach 循环中,我们可以获取到整个调用堆栈的详细信息,并打印出每一帧的函数名、文件名和行号。注意,调用堆栈是按照调用顺序从最近到最远的形式返回的。