【发布时间】: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