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

如果函数刷新IO缓冲区,则加分。


当前回答

您可能想查看debug_backtrace,或者debug_print_backtrace。

其他回答

请看看这个utils类,可能会有帮助:

用法:

<?php
/* first caller */
 Who::callme();

/* list the entire list of calls */
Who::followme();

源类:https://github.com/augustowebd/utils/blob/master/Who.php

var_dump(debug_backtrace());

这是你想要的吗?

使用debug_backtrace获取被调用的函数和方法的反向跟踪,以及被包含到调用debug_backtrace的位置的文件。

奇怪的是没有人这样发帖:

debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);

这实际上是在没有垃圾的情况下打印backtrace -只是调用了什么方法和在哪里。

如果一个人只是对文件感兴趣,你可以使用以下:

print_r (array_column debug_backtrace()、“文件”);

同样地,您可以用不同的键替换文件,只是为了查看该数据。