打印PHP调用堆栈 [英] Print PHP Call Stack

查看:327
本文介绍了打印PHP调用堆栈的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种在PHP中打印调用堆栈的方法.

I'm looking for a way to print the call stack in PHP.

如果函数刷新IO缓冲区,则奖励点.

Bonus points if the function flushes the IO buffer.

推荐答案

如果要生成回溯,则需要查找

If you want to generate a backtrace, you are looking for debug_backtrace and/or debug_print_backtrace.


例如,第一个将为您提供一个像这样的数组(引用手册):


The first one will, for instance, get you an array like this one (quoting the manual) :

array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}


它们显然不会刷新I/O缓冲区,但是您可以使用
flush 自己完成此操作. 和/或 ob_flush .


They will apparently not flush the I/O buffer, but you can do that yourself, with flush and/or ob_flush.

(请参阅第一个手册页,以了解为什么使用和/或" ;-))

这篇关于打印PHP调用堆栈的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆