【发布时间】:2016-06-30 08:09:50
【问题描述】:
我正在关注这个instruction 来验证我在 Web 服务器上的调试器配置。我使用的远程服务器的 FTP 连接已经过测试,但我收到了这条警告消息
尽管服务器主机可能不是本地主机,但远程主机被配置为“localhost”
我的第一个问题是:“远程主机”和“服务器主机”分别指的是什么?
我知道远程主机是设置xdebug.remote_host,根据xdebug documentation,它是“运行调试客户端的主机”。
这让我很困惑:调试客户端不是我在本地机器上运行的 IDE 吗?
如果是,那么“运行调试客户端的主机”不应该是我本地机器的 IP 地址吗?如果再次是,我是否应该将xdebug.remote_host 配置为我的 IP?
我尝试将其设置为我的 IP,警告消息没有显示,但感觉不对,因为后来我用随机 IP 尝试了该消息也没有显示。
其次,xdebug documentation 还表示如果启用了xdebug.remote_connect_back,则此xdebug.remote_host 设置将被忽略。”虽然不太确定此设置的作用,但我将其设置为“打开”,如图所示:
我希望这会消除警告消息,但它仍然存在。那么如何摆脱这条消息呢?
【问题讨论】:
-
1) 如果您 在远程服务器上 安装了 xdebug,那么
remote_host应该有一个运行 PhpStorm 的计算机的 IP,从远程服务器可以看出。为此,您需要确保在您的防火墙/路由器上打开 xdebug 端口——换句话说——xdebug 能够连接到您的计算机(因为这正是它的工作方式——xdebug.org/docs/remote)。 2)remote_connect_back可能很危险——任何发出“调试此”命令的人都可以与您的 xdebug 通信。但是如果你乐于使用它..那么你可以忽略 IDE 所说的。 -
谢谢。你在回答我的问题。如果我证明了你所说的,那么这应该是答案。
-
3) 如果您可以建立与服务器的 SSH 连接.. 那么您可以通过 SSH 进行调试,在这种情况下,
remote_host必须是本地 IP(例如 127.0.0.1)4)@ 987654336@ 可以在服务器位于 LAN 中时使用(例如,您旁边的某个虚拟机或物理服务器) -
文档急需大修。本地机器和“远程服务器”的问题不仅仅针对您。
标签: debugging phpstorm xdebug remote-debugging