Colima docker 容器中的 Xdebug 无法连接到 Mac 上的 PhpStorm 调试器



我试图使用Colima运行apache-php docker容器。我的uni使用docker-compose提供了从我们课程配置的上游镜像派生的docker镜像。

容器工作,因为它应该,但我不能得到它的Xdebug连接到我的PhpStorm。

Xdebug日志中是这样写的:

Creating socket for 'host.docker.internal:9003', poll success, but error: Operation now in progress (29).

这根本不能说明什么。

设置是公认的相当复杂(x86 Apache运行通过QEMU在Docker在macOS Linux VM在ARM CPU上),但我可以做nc host.docker.internal 9003从任何Docker容器,所以我不知道为什么Xdebug不能到达我的主机。(只在IDE运行时工作,没有其他端口,所以它肯定连接到PhpStorm。)

你知道这是怎么回事吗?

在Colina上,IP地址被硬编码为"192.168.5.2",因此设置xdebug.client_host=192.168.5.2应该可以达到目的。现在它还有一个别名,叫做host.lima.internal

问题是单元的docker-compose.yml配置了容器:

extra_hosts:
- "host.docker.internal:host-gateway"

,显然在某些情况下可以破坏host.docker.internal: https://github.com/docker/for-linux/issues/264#issuecomment-759737542

解决方案是删除这两行。

Set:

xdebug.client_host=host.lima.internal代替xdebug.client_host=host.docker.internal

xdebug.discover_client_host=0代替xdebug.discover_client_host=1

php.ini配置 中的

相关内容

  • 没有找到相关文章

最新更新