And*_*ndy 6 php xdebug phpstorm vagrant hhvm
我在使用PhpStorm和HHVM中的内部Xdebug在流浪盒上玩得很好时遇到了问题,下面是我的php.ini.
xdebug.enable=1
xdebug.remote_enable=1
xdebug.idekey="PHPSTORM"
xdebug.remote_host="10.0.2.2"
xdebug.remote_autostart=0
xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)
PhpStorm正在侦听端口9000,如果我在第一次运行时删除所有远程服务器PhpStorm给了我通常的"来自Xdebug的传入连接".
在我选择正确的映射并且第一个断点被命中后,HHVM似乎在返回504网关超时之前挂起.如果我删除断点然后加载是即时的,那么显然PhpStorm和Xdebug似乎正在通信,但是调试窗口从不显示任何堆栈信息/断点控制.
有没有人有任何指针,我的想法是:1)我需要在Vargrant框上打开一个端口,因为通信挂在某处2)HHVM/PhpStorm中的错误(不太可能)
我在Ubuntu 14.04,Vagrant 1.6.5
使用Nginx + HipHop VM 3.4.1,扩展API:20140829,VM也是14.04
PhpStorm 8.0.2
我现在已经启用了针对Xdebug远程连接的vagrant box的登录,这是输出....
Log opened at[2014-12-18 14:59:16]
I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9089.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/public/index.php" language="PHP" protocol_version="1.0" appid="9660" idekey="PHPSTORM"><engine version=""><![CDATA[xdebug]]></engine><author><![CDATA[HHVM]]></author><url><![CDATA[http://hhvm.com/]]></url><copyright><![CDATA[Copyright (c) 2002-2013 by Derick Rethans]]></copyright></init>
<- feature_set -i 1 -n show_hidden -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="show_hidden" success="1"></response>
<- feature_set -i 2 -n max_depth -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="max_depth" success="1"></response>
<- feature_set -i 3 -n max_children -v 100
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="max_children" success="1"></response>
<- status -i 4
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="status" transaction_id="4" status="starting" reason="ok"></response>
<- step_into -i 5
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="break" reason="ok" command="step_into" transaction_id="5"><xdebug:message lineno="12" filename="file:///var/www/public/index.php"></xdebug:message></response>
<- breakpoint_set -i 6 -t line -f file:///var/www/public/index.php -n 32
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="6" id="18" state="enabled"></response>
Run Code Online (Sandbox Code Playgroud)
但是,如果我点击PhpStorm中的"添加方法跳过列表"按钮,它会继续与XDebug进行通信,就好像单步执行变量一样,每次点击一次...
<- stack_get -i 8
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="8"><stack where="{main}" level="0" type="file" filename="file:///var/www/public/index.php" lineno="12"></stack></response>
Run Code Online (Sandbox Code Playgroud)
最终,在这些"stack_get"调用中的几个已经以这种方式匆匆通过后,显示了预期的控件.
有人有什么建议吗?
| 归档时间: |
|
| 查看次数: |
1687 次 |
| 最近记录: |