有没有办法从PHP获取内部数据?

时间:2010-11-10 04:13:42

标签: php debugging function variables

我知道有可用的PHP调试工具,但我很想知道自己做这样的事情。

有没有办法获取PHP正在处理的数据以进行调试?例如,无需更改我的PHP应用程序的代码,是否有某种方式,当我运行一个函数时,我可以看到该函数中存在哪些变量,调用该函数的内容,返回值是什么等等?

解决方案并不特别需要在PHP中,即这可能是用C语言编写的一些东西

3 个答案:

答案 0 :(得分:1)

好吧,我建议您考虑在代码中添加firePHP。 FirePHP有2个组件,一个服务器端组件和一个Firefox浏览器组件,它使用firebug插件。一旦正确安装,您可以执行FB :: Log($ variable)之类的操作,您将在firebug的日志部分内看到此信息,当您单击它时,它会显示整个变量被分解。此外,如果您要安装错误处理程序,当您获得捕获的异常时,您可以看到如何调用此异常的整个堆栈跟踪。

强烈推荐。

答案 1 :(得分:1)

尝试PHP xdebug模块 - http://xdebug.org/
你可以记录调试信息,
或输出为HTML

可能需要更改才能启动xdebug

答案 2 :(得分:0)

你可以使用一些内省的功能,比如debug_backtrace,但这些只会让你到目前为止。要收集任何类型的信息,您需要连接到PHP本身,您最有可能使用C语言编写的扩展。我建议您查看一个现有的调试器以查看他们是如何做到的,例如xdebug