我正在尝试进行远程调试。PHP 在虚拟机上运行,我正在尝试从主机上的 NetBeans 进行调试。
我已经按照此处的说明,在 Windows 7 防火墙和 VirtualBox 网络设置中转发了端口 9000,并在 NetBeans 中设置了路径映射。我的 xdebug 设置如下所示:
xdebug.remote_enable = On
xdebug.remote_connect_back = On
xdebug.idekey = "netbeans-xdebug"
xdebug.remote_log = /tmp/xdebug.log
当我加载要调试的 URL(使用正确的 idekey)时,它会记录以下内容:
I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.0.1:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
fileuri="file:///home/dev/web/projects/project.com.vm/httpdocs/index.php"
language="PHP" protocol_version="1.0"
appid="1380"
idekey="netbeans-xdebug">
<engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
但是,NetBeans 仍在等待连接。除了设置断点外,我还将它设置为在第一行停止。即使 NetBeans 未在侦听,日志文件也会包含“已连接到客户端”消息。
知道我可能会错过什么吗?
谢谢。