调试PHP
我已经使用xdebug调试和理解php项目中的代码有一段时间了,有时还不清楚php内部发生了什么调试PHP,php,debugging,xdebug,Php,Debugging,Xdebug,我已经使用xdebug调试和理解php项目中的代码有一段时间了,有时还不清楚php内部发生了什么 是否可以设置xdebug或gdb,以便跟踪实际的php内置函数?我怀疑,xdebug是用于跟踪php代码,而不是内部代码。内部构件被认为是无bug的(很明显,它们有时不是,但这超出了xdebug的范围) 如果您想了解内置函数的功能,可以随时查看PHP源代码,但这有时非常棘手。当我想知道PHP手册文档将要做什么时,PHP手册文档总是能很好地为我服务。如果您使用的是macosx、solaris或最新的f
是否可以设置xdebug或gdb,以便跟踪实际的php内置函数?我怀疑,xdebug是用于跟踪php代码,而不是内部代码。内部构件被认为是无bug的(很明显,它们有时不是,但这超出了xdebug的范围)
如果您想了解内置函数的功能,可以随时查看PHP源代码,但这有时非常棘手。当我想知道PHP手册文档将要做什么时,PHP手册文档总是能很好地为我服务。如果您使用的是macosx、solaris或最新的freebsd系统,您可以使用一些dtrace。对于那些太多的“WTF是PHP在做什么?”时刻,它可以派上用场 如果使用调试符号编译php,则可以使用gdb跟踪C级代码。请从这里开始:
测试Zend引擎输出的一种方法是查看操作码内部,您可以使用(Vulcan Logic Disassembler),它似乎也处于打开状态。注:仅适用于*nix系统(有关要求,请参阅网站)
调试这些操作码的一些示例可以在和等文章中找到。还有一个很棒的Google Chrome扩展,它允许:
- 请参阅Chrome JavaScript控制台和通知弹出窗口中的错误和异常
- 转储任何类型变量
- 远程执行PHP代码
- 通过密码保护访问
- 按请求对控制台日志进行分组
- 跳转到文本编辑器中的错误文件:行
- 将错误/调试数据复制到剪贴板(用于测试人员)
推荐给大家 一个快速的谷歌出现了-如果你有更多的指针开始,请张贴他们没有什么具体的,我不知道的链接,谢谢。我遇到了一些问题,从php跟踪所有文件系统调用就足够了。专门寻找羊圈和羊群。事实证明,PHP不喜欢include_once/require_once声明(它不像我所说的那样是use(perl)/import(java)替代)。太多的引用文件会导致flock的死亡。哦,这是一个很好的资源。