是否可以调试Phalcon PHP?
我正在使用Sublime 3编辑器,但如果可以进行调试,我愿意使用任何编辑器。
我在Stack Overflow上发现了一个类似的问题,但唯一的答案是关于Phalcon有多棒的销售宣传。
已更新:我事后正在更新此问题。我了解到调试Phalcon应用程序与调试PHP应用程序没有什么不同,除了您无法调试实际的Phalcon代码。我根本不认为有可能进行调试,所以我的问题可能会误导其他同时对PHP和Phalcon都不熟悉的开发人员。
答案 0 :(得分:1)
不幸的是,由于Phalcon是一个已编译的PHP扩展,因此无法使用PHP调试器对其进行调试。我们通常要了解的Phalcon内部结构是看看Zephir的源代码。
编辑:因为我上面的原始答案可能会被误解。我认为问题的目标是调试Phalcons内部函数,这只能通过C调试器实现(如Luke的回答中所述)。当然,仍然可以调试自己的PHP代码,但是你可能不会介入Phalcon类/方法。
答案 1 :(得分:1)
我假设您要调试PHP代码,而不是Phalcon扩展。如果你的意思是调试Phalcon框架本身你应该安装Zephir
来修改代码并使用gdb
来运行php命令(至少在linux上,不知道其他系统是什么)。
var_dump()
,echo
,printf
和die
它适用于所有phalcon对象,只需使用var_dump()(或其他输出函数)打印出要调试的变量,并在执行视图代码之前使用die()
。如果执行view
部分应用程序很可能会替换您的调试打印。
或者您也可以传递变量来查看应用程序的一部分,只需使用<?php var_dump($variable)?>
或者只使用伏{{dump(variable)}}
。
这是我个人最喜欢的方式。是的,XDebug Remote适用于Phalcon。我个人使用NetBeans,但你也可以使用其他IDE。有很多教程可以配置所有流行的IDE,所以我不打算再写一遍。请注意,Phalcon团队建议使用XDebug 2.2.3或更高版本以获得更好的兼容性。
how to configure XDebug on PHP Storm
how to configure XDebug on NetBeans
中详细了解如何对Phalcon进行调试答案 2 :(得分:0)
调试基于Phalcon的应用程序的最佳方法是将下面的代码片段包含在应用程序的bootstrap部分中,一旦出现任何错误(应用程序级别),您将获得非常有用的信息,如下所示。
(new Phalcon \ Debug) - &gt; listen();