我正在尝试从本地计算机调试站点(托管在远程服务器上)。我在远程计算机上安装了xdebug,并为xdebug扩展启用了远程调试和自动启动选项。
在某些方面,它似乎建立连接,网站加载正常,浏览器搜索栏右侧的“调试”图标突出显示,甚至出现“样式化”错误消息。但是,它绝对不会在任何断点处停止。
我非常感谢任何指导。
php.ini的相关部分(在远程服务器上)
var FieldCollection = Backbone.Collection.extend({
url: "/api/Field",
model: FieldModel,
syncAll: function () {
return Backbone.sync("create", this)
.error(function (xhr, el, other) {
var message = JSON.parse(xhr.responseText).Message;
var tab = "";
var activeTab = $("#Tabs li.active a").attr("id");
if (activeTab === "TaskListTab") {
tab = "#EditTaskDetailsTabError";
}
else if (activeTab === "NewTaskTab") {
tab = "#ProviderDetailsTabError";
}
RenderError(message, tab);
});
}
});
var FieldCollectionAddView = Backbone.View.extend({
saveAll: function () {
return this.collection.syncAll();
}
});
var ProviderAddView = Backbone.View.extend({
events: {
"submit #NewProviderForm": function (e) {
e.preventDefault();
if (this.FieldsAddView.isValid()) {
var fieldsView = this.FieldsAddView;
$.when(fieldsView.saveAll())
.done(function() {
// success
});
}
}
}
});
以前,在将应用程序放在远程服务器上之前,调试工作正常。我已经做了一些环顾四周,并阅读了应该如何做,但没有成功。
答案 0 :(得分:0)
我注意到的一些事情可以解决你的问题:
首先,密钥和.ini文件中的值之间通常没有空格。我建议删除它们,因为这可能会导致问题。此外,remote_autostart
需要布尔值,而不是字符串。将其更改为
xdebug.remote_autostart=1
您还需要告诉Xdebug运行调试客户端的位置,所以添加:
xdebug.remote_host=<ip.of.your.local.machine>
另一种选择是设置xdebug.remote_connect_back=1
,这更简单但安全性更低(因为任何可以连接到服务器的人都可以运行调试会话)。因此,如果可能,请使用remote_host
。
还要确保防火墙(在任一台计算机上)已正确配置,并且不会阻止任何内容,并且所有Xdebug设置都与Netbeans中的设置相匹配。
希望这有帮助