php存在“撬”等价物吗?

时间:2013-04-25 19:52:29

标签: php debugging xdebug read-eval-print-loop pry

我在ruby上有点被宠坏了,我习惯使用惊人的pry设施来应用。我将一个应用程序锁定为1个线程,然后让pry在httpd控制台中弹出,然后能够解决很多问题的底部,但是我找不到任何类似于PHP的可用内容。是否有类似或接受的解决方案适用于PHP,用于在执行期间调试和跟踪数据结构等?

6 个答案:

答案 0 :(得分:15)

我确切地知道你的意思。转移到PHP后我也错过了Pry。到目前为止,PsySH看起来像PHP中最好的REPL,就像Pry一样。它具有反射,因此您可以使用ls之类的命令来评估变量,常量,类等。它有一个帮助命令,类似于Pry' show-doc,可以让您阅读文档关于函数或对象属性。您甚至可以查看任何对象的来源,就像Pry的show-source命令一样。还调试:

  

" PsySH可以用作交互式调试器,就像JavaScript的调试器语句一样,可以避免无休止的var_dump()和die()迭代。只需将此行放在您想要断点的地方:

     

\精神科\壳牌::调试(get_defined_vars());"

Boris也是PHP的另一个很好的REPL,类似于Pry。

答案 1 :(得分:2)

呀。叫做dephpugger

https://github.com/tacnoman/dephpugger

您也可以在终端和调试器中启动服务器。命令类似,n到next,c继续等等......

答案 2 :(得分:0)

我并不是真正的Ruby和pry,但就我读到的主题而言,pry是一个debugtool。为了调试php,我使用一个名为wamp的本地web服务器和内置的xDebug。结合IDE:Netbeans或Eclipse,您可以在执行php脚本期间查看数据结构/对象。

答案 3 :(得分:0)

我也在寻找一个像撬一样的东西,但是这个帮助我实现了类似的东西: http://proger.i-forge.net/Triggering_XDebug_session_from_command_line/ODd

答案 4 :(得分:0)

我还没有使用过Ruby。

但PHP调试可以通过

完成

*)

使用Firebug和FirePHP的WAMP服务器

答案 5 :(得分:0)

PHP与Ruby的工作方式不同,在您询问的上下文中很难进行比较。

在运行时检查复杂结构是通过调试在PHP中完成的,这意味着客户端调试端(= PHP IDE)必须能够与运行PHP的服务器调试端通信(这通常通过启动具有特殊名称的cookie来完成,例如通过URL DBGSESSID = 123& dbgParam1 = 123)。

因此,Web服务器上的PHP必须安装特殊的调试模块(如XDebug),当调试客户端显示“立即停止”时,Web服务器会在某个断点处暂停执行,从而暴露任何本地,全局,静态等数据结构。

如果有兴趣,请查看支持调试的可用PHP IDE: What is the best IDE for PHP?