嗯,魔改一个插件的时候碰到个问题,不知道到底当前脚本具体被谁调用了,如何打印当前请求脚本的调用信息呢?
方法如下:
<?php
function printCallStack() {
// 获取调用堆栈的详细信息
$stack = debug_backtrace();
// 遍历调用堆栈并打印信息
foreach ($stack as $level => $call) {
if (isset($call['file'])) {
echo sprintf(
"#%d %s(%d): %s%s%s\n",
$level,
$call['file'],
$call['line'],
isset($call['class']) ? $call['class'] . '->' : '',
$call['function'],
'()'
);
} else {
echo sprintf("#%d {main}\n", $level);
}
}
}
// 示例调用
function b() {
printCallStack();
}
function a() {
b();
}
a();
?>
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。