我正试图用xdebug来获取netbeans(PHP)。
我发现调试的方法通常是在netbeans中设置URL,例如
http://localhost/muster/index.php?module=Wind&Action=Test
然后点击调试按钮,但是如何调试POST请求呢? e.g。
.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以开始调试?
非常感谢任何意见!
答案 0 :(得分: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。
答案 1 :(得分:0)
除了将XDEBUG_SESSION_START作为POST / GET参数传递外,Cookie也是一种替代选项。您可以使用浏览器扩展,允许您通过单击按钮激活调试,然后使用名为" XDEBUG_SESSION"的cookie。自动设置为浏览。这种方式适合发布请求,您无需手动添加参数。
<强>铬强>: https://chrome.google.com/extensions/detail/eadndfjplgieldjbigjakmdgkmoaaac。 的火狐强>:https://addons.mozilla.org/en-US/firefox/addon/the-easiest-xdebug/