2010-11-10 80 views
2

我知道有PHP调试工具可用,但我很好奇自己做这样的事情。有没有办法从php获取内部数据?

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

的解决方案不明确并不需要在PHP,即这可能是用C语言编写somethig等

+0

每个人都有那种忽略了一点,其中第一行我说:“我知道有PHP调试工具可用,但我很好奇自己做这样的事情。” - 无论如何,感谢您的反馈 – Tim 2010-11-11 01:24:27

回答

0

你可以使用一些内省功能,如debug_backtrace,但这些只会让你这么远。要收集任何类型的信息,您需要挂钩到PHP本身,您最可能用C语言编写的扩展插件。我建议您查看一下现有的调试器,看看它们是如何做的,例如xdebug

1

那么,我建议你看看你的代码中加入firePHP。 FirePHP有2个组件,一个服务器端组件和一个Firefox浏览器组件,它使用了Firebug插件。一旦正确安装,您可以执行诸如FB :: Log($ variable)之类的操作,并且您将在萤火虫的日志部分内看到这些信息,当您点击它时,它会显示整个变量。另外,如果您要安装错误处理程序,则当您收到捕获的异常时,您可以看到整个堆栈跟踪如何调用此异常。

强烈推荐。

1

尝试PHP XDebug的模块 - http://xdebug.org/
ü可以登录调试信息,
或输出HTML

变化可能要求启动Xdebug的

相关问题