Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否有“debug_backtrace()”函数模拟来观察zf2中的调用堆栈,或者是否有任何方法来调试zf2中的调用跟踪?_Php_Debugging_Zend Framework2_Debug Backtrace - Fatal编程技术网

Php 是否有“debug_backtrace()”函数模拟来观察zf2中的调用堆栈,或者是否有任何方法来调试zf2中的调用跟踪?

Php 是否有“debug_backtrace()”函数模拟来观察zf2中的调用堆栈,或者是否有任何方法来调试zf2中的调用跟踪?,php,debugging,zend-framework2,debug-backtrace,Php,Debugging,Zend Framework2,Debug Backtrace,导言 我在zf2中遇到了奇怪的错误。我不知道为什么,但我得到一些路由错误。我没有收到任何消息,但所需的控制器未加载,但另一个已加载。所有这些看起来都很好,所以在这里请求帮助我解决这个问题不是一个好主意,所以我尝试自己调试这个 我试过什么? 我在/public/index.php文件中尝试了如下函数: // Setup autoloading require 'init_autoloader.php'; // Run the application! Zend\Mvc\Application:

导言

我在zf2中遇到了奇怪的错误。我不知道为什么,但我得到一些路由错误。我没有收到任何消息,但所需的控制器未加载,但另一个已加载。所有这些看起来都很好,所以在这里请求帮助我解决这个问题不是一个好主意,所以我尝试自己调试这个


我试过什么?

我在
/public/index.php
文件中尝试了如下函数:

// Setup autoloading
require 'init_autoloader.php';

// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();

var_dump(debug_backtrace());
什么也看不出来

为了检查函数是否正常工作,我尝试了:

function bob() {
    var_dump(debug_backtrace());
}

bob();
这向我展示了传递了什么参数,调用了什么函数等等。这向我展示了,这个函数是正确执行的,但这个函数在我的例子中没有使用


问题


有什么方法可以获取应用程序中执行的功能吗

我想你有点误解了
debug\u backtrace()
的作用。它列出了导致返回跟踪在代码中的位置的函数调用。因此,在您的
bob()
示例中,它将显示该函数(调用了
bob()
)。但是如果您只是在
public/index.php
中调用
debug\u backtrace()
,这在任何函数中都不会执行,这就是为什么您不会得到任何输出。

我不确定您安装不同堆栈的合理性,但是内置了代码跟踪/分析功能,这正是您需要的。

谢谢。但我不确定你的问题是否是这个问题的答案。问题是
是否有任何方法可以获取应用程序中执行的函数?
。你的建议可能是评论,但不是回答。无论如何,谢谢你-你澄清了
debug\u backtrace()
的工作原理。公平点。我不确定是否有PHP函数可以为您提供该列表,尽管您当然可以使用Xdebug来实现。但是,在这种情况下,我认为这不会帮助您调试问题。在ZF中会有数千个函数调用,可能是1000个中的10个。如果您想发布有关您试图修复的路由错误的详细信息(可能在另一个问题中),我们可能会提供帮助。。。我正在考虑删除这个问题,但我不确定。它还开着。例如,我或其他人,将得到错误,他不知道如何解决,他不知道是什么导致了这个错误。很高兴知道,您知道如何调试选择的路由以及由什么选择的路由。在我的例子中,如果我知道选择了什么路线以及为什么,我会更快地解决问题。对不起,我的英语不好。你明白我的意思吗?不管怎么说,我投了赞成票,因为你澄清了函数是如何工作的。