【问题标题】:xdebug running in PHPStorm unable to connect to remote server在 PHPStorm 中运行的 xdebug 无法连接到远程服务器
【发布时间】:2015-09-11 09:26:28
【问题描述】:

问题

我试图让 xdebug 在我的机器和远程服务器上运行的 web 应用程序之间运行。

我正在开发盒上通过 PHPStorm 运行 xdebug。启动调试器后我卡住了。 PHPStorm 调试器窗口挂在“等待带有 ide 键 'PHPStorm' 的传入连接”

远程服务器配置

在远程服务器上,我们的系统管理员已经安装了 xdebug。服务器有以下设置:

xdebug.remote_port  9000
xdebug.default_enable   On  
xdebug.remote_enable    On
xdebug.remote_connect_back  On

请注意,remote_connect_back 已打开。我正在为多开发人员环境配置它。这将导致 xdebug.remote_host 被忽略(这就是我没有将它包含在其中的原因)。

我正在使用 Firefox 的“最简单的 xdebug”插件。如果我在禁用 xdebug 插件的情况下刷新页面,则页面加载正常。

如果我为该页面启用插件并刷新,该页面将挂起直到超时。我相信这告诉我 xdebug 正在运行并且至少正在尝试做某事。正确的?到目前为止一切顺利。

客户端配置

我正在本地开发盒上运行 PHPStorm。我还在我的开发盒上安装了 xdebug。以下是 php -i 的一些相关输出:

xdebug support => enabled
xdebug.default_enable => On => On
xdebug.idekey => PHPStorm => PHPStorm
xdebug.remote_enable => On => On
xdebug.remote_port => 9000 => 9000
xdebug.remote_host => localhost => localhost
xdebug.remote_connect_back => Off

我在服务器上使用 xdebug 版本 2.2.3,在客户端上使用 2.2.7。我需要使用旧版本,因为我们被困在 PHP 5.3 上……至少现在是这样。客户端和服务器都运行 PHP 5.3。

在 PHPStorm 中,我设置了一个连接到远程服务器的服务器配置:

devops-dev.ourcloud.com

我有一个路径映射到服务器上的绝对路径:var/www/api/apidev.ourcloud.com/current

在端口 9000 上等待。我将 PHPStorm 中的 IDEKey 设置为“PHPStorm”。

结果

我点击手机监听调试器连接,点击绿色调试器图标,在调试器视图中,我看到了:

等待带有 ide 键 'PHPStorm' 的传入连接

就是这样。我似乎没有连接到服务器。

任何线索是什么导致了这个,甚至我可以如何更好地调试这个?

【问题讨论】:

  • 可能是通信问题,即远程服务器禁用出站端口 9000,或者您的开发盒/路由器阻止 9000 入站。也许,只是摇摆
  • 伊夫,谢谢!确实似乎存在防火墙问题。可能不是唯一的问题,但至少是 A 问题。

标签: php debugging phpstorm xdebug remote-debugging


【解决方案1】:

看起来是防火墙问题。我能够通过从客户端到服务器运行 ssh 隧道来解决问题:

ssh -f -N -T -R9000:localhost:9000 服务器

我还能够使用从服务器到客户端的 netcat 找到这个问题。

来自服务器:nc client 9000

这表明端口被阻塞了。

【讨论】:

    猜你喜欢
    • 2016-06-23
    • 2020-12-04
    • 2011-12-24
    • 2016-10-01
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多