【发布时间】:2018-03-23 09:18:40
【问题描述】:
我已经为 PhpStorm 设置了调试配置,并且已通过 PhpStorm 成功验证:
还安装了 Chrome 的 Xdebug 助手。
问题是,当我开始侦听调试连接并在打开 Xdebug 帮助程序的情况下重新加载所需页面时,什么也没有发生。也试过这个bookmarklets,但没有运气。
没有错误什么的,什么都没有。
还尝试将不同的 IP 设置为 dockerhost:来自 192.168.. 范围(来自网络设置),来自 172.* 范围(来自 nginx),来自 10.* 范围(10.0.75.1 是默认)。还尝试了docker.for.mac.internal.host,它在容器启动时失败了。
Docker 17.02、macOS Sierra、PhpStorm 2017.3
【问题讨论】:
-
"并且它已被 PhpStorm 成功验证" PhpStorm 会检查 php.ini 中的值是否有意义以及端口号是否与 IDE 中的值匹配。它不检查实际的连接(如果 Xdebug 能够连接)。
-
1) 确保 IDE 正在监听 xdebug conn(活动的“电话句柄”图标) 2) 确保在该端口上监听的是 PhpStorm 而不是其他应用程序(例如 php-fpm)-
sudo lsof -nP -iTCP -sTCP:LISTEN左右 3) 收集 xdebug 日志——它将告诉它尝试连接的位置以及响应是什么。但总的来说:xdebug.remote_host 必须指向运行 PhpStorm 的 IP(从容器内部看;docker.for.mac.internal.host也可以工作——我不是 Mac 用户,所以不能肯定地说)。 4) 您需要禁用connect_back,因为在这种情况下remote_host会被忽略。 RTM。 -
1) 是的; 2) phpstorm 74846 376u IPv4 0x82e89367ea55f7d 0t0 TCP *:9000 (LISTEN); 3) 跳过; 4)
remote_connect_back- 就是这样!谢谢!禁用它后,我设法连接!从来没有想过它可能会导致这个问题。由于某种原因,它在 laradock 中默认启用。
标签: debugging docker networking phpstorm xdebug