将NetBeans连接到Docker容器上的Xdebug

xfyts7mz  于 2022-11-10  发布在  Docker
关注(0)|答案(1)|浏览(178)

我尝试将NetBeans连接到位于Ubuntu中的容器PHP中的Xdebug。
问题是,如果我使用选项--net=host启动容器,一切都正常,但如果我尝试使用默认选项(桥),NetBeans可以访问容器,但容器无法访问我的主机环境。
这是我的xdebug ini配置文件:

xdebug.remote_enable=1
xdebug.remote_connect_back=0
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
xdebug.profiler_enable=0
xdebug.remote_log="/tmp/xdebug.log"

请注意,Xdebug日志明确报告xdebug找不到getaddress。
有没有办法将桥接容器连接到主机环境?

ykejflvf

ykejflvf1#

在使用Xdebug 3时,我在xdebug.ini文件中使用了以下设置:

zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.idekey="netbeans-xdebug"

端口号9003与在Netbeans Preferences - PHP - Debugging - Debugger Port中设置的值相匹配。我不记得默认值了,但它可能是9000。
这里假设您使用的是Docher的默认“桥接网络”模式。这里发生的事情是host.docker.internal告诉Xdebug连接到容器的主机--即运行Netbeans的开发机器。

相关问题