我在虚拟机上使用Xdebug(Ubuntu guest)。 我使用Vagrant来管理这些虚拟机,并且我正在配置一个"模式"操作系统克隆它进行Web开发。 问题是我想配置这个ubuntu guest来接受来自任何主机的xdebug连接(xdebug显然是在guest虚拟机中)。
这些说明不起作用:
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。
有没有办法使用外卡(*)或类似的东西?
答案 0 :(得分:15)
根据Xdebug settings documentation,如果您启用了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
应该允许任何设备连接到有权访问您的网络服务器的Xdebug。
答案 1 :(得分:4)
remote_host,因此将remote_host设置为主机名是没有意义的。当然,除非你使用的是旧版Xdebug。为了找出底层发生了什么,你需要打开xdebug.remote_log - 这会将连接尝试写入日志文件,并告诉你它是否也无法连接。