2

我正在尝试使用 xdebug 来掌握 netbeans (PHP)。

我发现进行调试的方法通常是在 netbeans 中设置 URL,例如

http://localhost/muster/index.php?module=Wind&Action=Test

然后点击调试按钮,但我该怎么做才能调试 POST 请求?例如

.js 文件中有一个 javascript 函数,它使用 POST 调用 php 文件,它是这样的:

    new Ajax.Request(
            'index.php',
            {
                    queue: {position: 'end', scope: 'command'},
                    method: 'post',
                    postBody: "module=Wine&action=WineAjax&return_id="+id,
                    onComplete: function(response)
                    { ....

如何设置 URL 以开始调试?

非常感谢您的任何意见!

4

2 回答 2

4

您需要设置一个参数来告诉 xdebug 调试器正在侦听。当您在提供 url 后启动调试时http://localhost/muster/index.php?module=Wind&Action=Test,Netbeans 会将查询参数 XDEBUG_SESSION_START=netbeans-xdebug 添加到 url。这就是触发 xdebug 连接到 IDE 的原因。

要从 POST 请求中获得相同的效果,您需要将查询参数添加到 POST 数据中:

postBody: "module=Wine&action=WineAjax&XDEBUG_SESSION_START=netbeans-xdebug&return_id="+id

这将触发 xdebug 连接到 Netbeans。

于 2013-10-28T14:06:57.070 回答
0

除了将 XDEBUG_SESSION_START 作为 POST/GET 参数传递之外,Cookie 也是一种替代选项。您可以使用允许您通过单击按钮进行主动调试的浏览器扩展程序,然后在浏览器中自动设置名为“XDEBUG_SESSION”的cookie。这种方式适合post请求,不需要手动添加参数。

https ://chrome.google.com/extensions/detail/eadndfjplgieldjbigjakmdgkmoaaac 。 火狐https ://addons.mozilla.org/en-US/firefox/addon/the-easyest-xdebug/ 。

于 2017-01-13T04:03:05.573 回答