Netbeans和PHP - 远程调试,不会遇到断点

时间:2016-10-25 15:09:08

标签: php debugging netbeans

我正在尝试从本地计算机调试站点(托管在远程服务器上)。我在远程计算机上安装了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
                            });
                    }

            }

    }
});

以前,在将应用程序放在远程服务器上之前,调试工作正常。我已经做了一些环顾四周,并阅读了应该如何做,但没有成功。

1 个答案:

答案 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中的设置相匹配。

希望这有帮助