【问题标题】:Xdebug Configuration - Random Whitespace after IPXdebug 配置 - IP 后的随机空白
【发布时间】:2021-08-15 17:00:58
【问题描述】:

我正在解决 Xdebug 问题: 由于某种原因,当我使用我的环境时,IP 地址后面会添加一个空格。变量。

这是我的 Xdebug 配置的样子:

zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=${PUBLIC_HOST_IP}
xdebug.log=/tmp/xdebug.log
xdebug.idekey=VSCODE

在我的浏览器 php 信息文件中看起来不错:

但在我的调试日志中显示:

WARN: Creating socket for '10.44.9.72 :9003', getaddrinfo: Invalid argument.

当我直接将 IP 添加到配置中时,Xdebug 工作正常,所以问题来自环境变量的使用。 我也已经通过替换发送了:

PUBLIC_HOST_IP=$(hostname -I)
export PUBLIC_HOST_IP=$(echo "${PUBLIC_HOST_IP}" | tr -d '[:space:]')

但现在没有任何运气......

当我在配置后面添加“1”时,空白也会出现在 info php 中。

xdebug.client_host=${PUBLIC_HOST_IP}1

包装也没有帮助:xdebug.client_host="${PUBLIC_HOST_IP}"

当我将变量写入文本文件时:

echo $PUBLIC_HOST_IP >> test.txt

ip 末尾不添加空格。 任何线索如何摆脱那个空白?

【问题讨论】:

  • 什么在生成 xdebug 配置,或者更具体地说,是什么在转换环境变量? (我不熟悉在那里使用变量,所以如果可能的话,这对我来说是新的。)这是 Docker 吗?
  • 正常环境。变量可以简单地在 php 配置文件中使用:php.net/manual/de/configuration.file.php
  • 你确定不是换行,而是空格?如果你这样做 xdebug_var_dump(ini_set('xdebug.client_host')); 会发生什么?
  • @Basti 一定是错字。我敢打赌,德里克打算改写ini_get(这在这里更有意义/基于需要检查的内容)。
  • 这确实更有意义 :-) 我得到的是:string(10) "10.44.9.72"

标签: php variables xdebug


【解决方案1】:

我不知道为什么,但我的配置文件从以下位置更改:

zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=${PUBLIC_HOST_IP}
xdebug.log=/tmp/xdebug.log
xdebug.idekey=VSCODE

zend_extension = xdebug
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host = ${PUBLIC_HOST_IP}
xdebug.log = /tmp/xdebug.log
xdebug.idekey = VSCODE

其实修好了……

【讨论】:

  • 那...没有意义 :-) 如果您将其恢复为旧样式,是否存在问题?
  • @Derick:是的,我做到了,并且空白再次出现......我会接受它:-)
  • 我想知道这是否可能是 PHP 中的错误。你运行的是哪个版本? FWIW,我根本无法重现。
猜你喜欢
  • 1970-01-01
  • 2013-05-28
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
相关资源
最近更新 更多