12

我在虚拟机(Ubuntu 来宾)上使用 Xdebug。我正在使用Vagrant来管理这些 VM,并且我正在配置一个“模式”操作系统来克隆它以进行 Web 开发。问题是我想将这个 ubuntu 来宾配置为接受来自任何主机的 xdebug 连接(xdebug 显然在来宾操作系统中)。

这些说明不起作用:

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_connect_back=1
xdebug.remote_port=9000

唯一的方法似乎是添加一行:

xdebug.remote_host=sdurzu

“sdurzu”是主机的主机名,但我想为 xdebug 创建一个“通用”配置,而不是基于主机名或 IP。

有没有办法使用通配符(*)或类似的东西?

4

2 回答 2

21

根据Xdebug 设置文档remote_host如果您已remote_connect_back启用,则会被忽略。

xdebug.remote_connect_back
类型:布尔值,默认值:0,在 Xdebug >= 2.1 中引入

如果启用,xdebug.remote_host 设置将被忽略,Xdebug 将尝试连接到发出 HTTP 请求的客户端。它检查 $_SERVER['HTTP_X_FORWARDED_FOR'] 和 $_SERVER['REMOTE_ADDR'] 变量以找出要使用的 IP 地址。
[...]

此外,remote_connect_back 应该允许任何设备连接到可以访问您的 Web 服务器的 Xdebug。

于 2013-02-04T17:20:14.480 回答
5

如果启用了 remote_connect_back,则 remote_host 将被忽略,因此将 remote_host 设置为主机名没有意义。当然,除非你使用非常旧的 Xdebug 版本。为了找出幕后发生的事情,您需要打开 xdebug.remote_log - 这会将连接尝试写入日志文件并让您知道它是否也无法连接。

于 2013-02-05T20:26:40.267 回答