php无法连接外部游览器,phpstorm – 无法解析外部Xdebug连接的服务器名称

我有一个带有xdebug的Docker容器,当我运行脚本时,我需要形成我从PhpStorm收到的Docker容器,消息如下:

Cannot parse server name for external Xdebug connection.

To fix it create environment variable PHP_IDE_CONFIG on the remote server.

Windows: set PHP_IDE_CONFIG="serverName=SomeName"

Linux / Mac OS X: export PHP_IDE_CONFIG="serverName=SomeName".

但我已经设置了这些环境变量,如下面的屏幕截图所示:

LiMm6.png

这是我的phpinfo()的xdebug部分:

3zxVW.png

Kbx5H.png

这些是我对PhpStorm的设置:

uzTrV.png

vKYQi.png

来自phpinfo()的环境:

5y4JF.png

来自phpinfo()的PHP变量:

10WXD.png

H2DPf.png

iEmnd.png

我也尝试使用和不使用引号导出env变量,但结果是相同的…

报价:

XDEBUG_CONFIG="remote_host=192.168.1.110"

PHP_IDE_CONFIG="serverName=docker-server"

没有引号:

XDEBUG_CONFIG=remote_host=192.168.1.110

PHP_IDE_CONFIG=serverName=docker-server

来自我的MacOS的ifconfig en1 inet命令的结果,我正在运行Docker和PhpStorm

mrVCc.png

您还可以在需要的情况下检查以下文件:

任何帮助都感激不尽!

更新:

似乎如果我添加

environment:

XDEBUG_CONFIG: "remote_host=192.168.1.110"

PHP_IDE_CONFIG: "serverName=docker-server"

进入位于docker-compose.yml内的我的php服务它解决了这个问题但是给我留下了一个很大的问题.

因为我有:

env_file:

- ./etc/environment.yml

- ./etc/environment.development.yml

在里面./etc/environment.development.yml我有:

XDEBUG_CONFIG="remote_host=192.168.1.110"

PHP_IDE_CONFIG="serverName=docker-server"

并且由于它没有被忽略,我可以看到甚至在我将环境属性添加到我的php服务之前设置了那些Env变量,为什么xdebug仅在我设置环境属性时被触发?我觉得在两个地方都有重复,我更喜欢把它放在./etc/environment.development.yml而不是docker-compose.yml中.

### 配置PHPStorm进行浏览器调试 为了在PHPStorm中设置浏览器调试并使用Xdebug进行断点调试,需完成几个重要步骤。 #### 1. 安装和配置Xdebug模块 确保已正确安装Xdebug扩展。对于Windows环境下的PHP,可以从官方站点获取适合版本的DLL文件[^1]。安装完成后,在`php.ini`文件内添加如下配置: ```ini [Xdebug] zend_extension=php_xdebug.dll xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host=localhost xdebug.client_port=9003 xdebug.idekey=PHPSTORM ``` 上述配置项解释: - `zend_extension`: 指定Xdebug DLL路径。 - `xdebug.mode`: 设置为`debug`模式以便启用调试功能。 - `xdebug.start_with_request`: 自动启动调试会话。 - `xdebug.client_host`: 调试客户端主机地址,默认设为localhost。 - `xdebug.client_port`: Xdebug监听端口,通常设定为9003。 - `xdebug.idekey`: IDE密钥用于关联IDE与Xdebug进程[^3]。 #### 2. PhpStorm中的Xdebug集成 进入PHPStorm首选项或设置界面,导航至Languages & Frameworks -> PHP -> Debug部分,确认Debug Port匹配于之前定义的`client_port`参数值(即9003),同时开启“Force break at first line when no path mapping specified”。 接着前往Languages & Frameworks -> PHP -> Servers选项卡下新增服务器条目,指定名称、宿主名以及绝对路径映射关系,这有助于建立项目源码同Web根目录间的联系。 最后一步是在Run/Debug Configurations里创建新的PHP Web Application运行配置,选择刚才注册过的Server,并勾选“Break at the first line in any script”。这样每当发起HTTP请求时都会自动触发中断点。 #### 3. 浏览器辅助工具 推荐安装专门设计用来配合Xdebug工作的浏览器插件——Xdebug Helper。通过该插件可以方便地控制是否激活当前页面的调试过程。当访问目标URL前记得切换到“Debug”状态即可。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值