是否可以使用Phalcon PHP进行调试?

时间:2016-09-03 21:06:37

标签: php debugging sublimetext3 phalcon

是否可以调试Phalcon PHP?

我正在使用Sublime 3编辑器,但如果可以进行调试,我愿意使用任何编辑器。

我在Stack Overflow上发现了一个类似的问题,但唯一的答案是关于Phalcon有多棒的销售宣传。

已更新:我事后正在更新此问题。我了解到调试Phalcon应用程序与调试PHP应用程序没有什么不同,除了您无法调试实际的Phalcon代码。我根本不认为有可能进行调试,所以我的问题可能会误导其他同时对PHP和Phalcon都不熟悉的开发人员。

3 个答案:

答案 0 :(得分:1)

不幸的是,由于Phalcon是一个已编译的PHP扩展,因此无法使用PHP调试器对其进行调试。我们通常要了解的Phalcon内部结构是看看Zephir的源代码。

编辑:因为我上面的原始答案可能会被误解。我认为问题的目标是调试Phalcons内部函数,这只能通过C调试器实现(如Luke的回答中所述)。当然,仍然可以调试自己的PHP代码,但是你可能不会介入Phalcon类/方法。

答案 1 :(得分:1)

我假设您要调试PHP代码,而不是Phalcon扩展。如果你的意思是调试Phalcon框架本身你应该安装Zephir来修改代码并使用gdb来运行php命令(至少在linux上,不知道其他系统是什么)。

标准var_dump()echoprintfdie

它适用于所有phalcon对象,只需使用var_dump()(或其他输出函数)打印出要调试的变量,并在执行视图代码之前使用die()。如果执行view部分应用程序很可能会替换您的调试打印。

或者您也可以传递变量来查看应用程序的一部分,只需使用<?php var_dump($variable)?>或者只使用伏{{dump(variable)}}

使用XDebug Remote

这是我个人最喜欢的方式。是的,XDebug Remote适用于Phalcon。我个人使用NetBeans,但你也可以使用其他IDE。有很多教程可以配置所有流行的IDE,所以我不打算再写一遍。请注意,Phalcon团队建议使用XDebug 2.2.3或更高版本以获得更好的兼容性。

how to configure XDebug on PHP Storm

how to configure XDebug on NetBeans

how to configure XDebug on Sublime 3

您可以在Phalcon's Documentation

中详细了解如何对Phalcon进行调试

答案 2 :(得分:0)

调试基于Phalcon的应用程序的最佳方法是将下面的代码片段包含在应用程序的bootstrap部分中,一旦出现任何错误(应用程序级别),您将获得非常有用的信息,如下所示。

  • 回溯
  • 请求
  • 服务器
  • 包含文件
  • 记忆(这非常有用)
  

(new Phalcon \ Debug) - &gt; listen();