php – 在外部请求上在Netbeans中启动XDebug

我使用Netbeans 6.7和XDebug调试我的机器上的PHP站点,从Netbeans(Project->调试)启动请求。这工作正常,是非常有用的。

我的问题是:是否可能将调试器附加到任何请求,而不是只是我从Netbeans中启动的任何请求?

即,而不是单击“调试”,将Netbeans置于一种模式,调试器启动并附加到下一个请求进来。

我有一种感觉这可能是一个愚蠢的问题,但如果可能,那将是伟大的。

编辑:更多信息

我的系统(Ubuntu 9.04)设置如下:

/etc/php5/conf.d/xdebug.ini的内容

zend_extension=/usr/lib/php5/20060613/xdebug.so

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey=netbeans-xdebug

Netbeans PHP调试选项是默认值:

Debugger Port: 9000
Session ID: netbeans-xdebug
Stop at the First Line: ticked

我的/ etc / hosts文件将www.mywebsite.com重定向到localhost

如果我点击Netbeans中的调试按钮,然后启动Firefox,地址为http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug,调试器按预期工作。

但是如果我只是浏览到http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug,这不会启动调试器在Netbeans。

我也试过设置xdebug.remote_host = www.mywebsite.com,但这没有什么区别。

此外,我已经启用xdebug.remote_log,它显示的信息,当我从netbeans开始,但没有外部请求。所以我不认为XDebug看到外部请求。

转到项目属性>运行配置>进阶>调试网址和检查不打开网络浏览器(*)。不要将主机设置为调试器代理。保存这些设置。在项目窗口中,对您的项目:鼠标右键单击> debug(这开始侦听调试连接)。没有浏览器启动。请在浏览器中输入http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug。它应该在netbeans中断。至少这是这里发生:)

(*)你可能还需要设置一个路径映射 – 对我来说,它工作没有

http://stackoverflow.com/questions/1531391/launch-xdebug-in-netbeans-on-an-external-request

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 在外部请求上在Netbeans中启动XDebug