php - PHP命令返回函数堆栈
问题描述
我以前用过它,但是今天,经过几次失败的搜索后,我一直找不到我要找的东西。
一个 PHP 命令,它将返回调用函数的名称,以及调用它的函数,5 级左右。
任何帮助将不胜感激!
解决方案
我认为您正在寻找 debug_print_backtrace。从文档:
debug_print_backtrace() 打印 PHP 回溯。它打印函数调用、包含/必需的文件和 eval()ed 的东西。
但是,如果您希望数据不立即打印而是返回,您可以使用 debug_backtrace(),将其保存到 var 并仅使用 ['function'] 索引。当然,此功能在其文档中也有更好的描述。
例如,如果您在通过 try catch 捕获异常后想要堆栈跟踪,您也可以使用以下命令:
try{
//stuff
}catch(\Exception $e){
$stackTrace = $e->getStackTraceAsString();
//do whatever you want to with your stack trace
}
您也可以使用创建一个新异常
$e = new \Exception;
并通过以下方式获取堆栈跟踪
$e->getTraceAsString();
该功能还在文档中进一步解释。
推荐阅读
- regex - 如何使用 htaccess 文件从不干净的 url 重定向到干净的 url
- java - 如果我正在查看某个点,请打印信息
- algorithm - 将生成所需输出的魔法序列的 C++ 算法代码
- c - 在 C 中,有没有办法将一个程序的返回值传递给另一个程序?
- linux - Adacore GNATCOLL 库未安装在 CentOS 8 上
- python - 如何从命令行访问程序的文档字符串?
- c++ - 如何使用 count_if 函数计算向量中元素的频率?
- node.js - 带有 npm 私有包的 Heroku CI/CD
- c++ - 在 Windows 上,使用 C++ 可以从给定函数 ptr 以编程方式获取程序集的字符串名称
- javascript - 如何从用 Vuex 商店编写的 vuetify 表单中获取更改的对象字段