一尘不染

在外部请求下在Netbeans中启动XDebug

linux

我正在使用Netbeans 6.7和XDebug在我的计算机上调试PHP站点,并从Netbeans中启动请求(“项目”->“调试”)。这很好,并且非常有用。

我的问题是:是否可以将调试器附加到传入的任何请求中,而不仅仅是我从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.comlocalhost

如果单击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根本看不到外部请求。


阅读 171

收藏
2020-06-07

共1个答案

一尘不染

转到 项目属性 > 运行配置 > 高级 > 调试URL, 然后检查 不要打开Web浏览器 (*)。千万 不能 设置在主机
的调试器代理 。保存这些设置。在项目窗口中的项目上: 右键单击 > 调试
(这开始侦听调试连接)。没有启动浏览器。http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans- xdebug在浏览器中输入。它应该打破netbeans。至少那是这里发生的事情:)

(*)您可能还需要设置 路径映射 -对我来说,它无需

2020-06-07