Apache2 在多用户环境中使用XDebug

Apache2 在多用户环境中使用XDebug,apache2,xdebug,vhosts,Apache2,Xdebug,Vhosts,我正在开发一个与其他人共享的本地服务器。此服务器有一个Apache/PHP实例,但它有多个可供不同用户使用的“站点”(VirtualHost) 我想让XDebug工作起来,这样我们每个人都可以独立使用它。问题是,如果我们启用XDebug,例如,我的IDE连接到服务器,并且我设置了一个断点,那么如果其他人正在浏览该页面,即使该页面位于他/她自己的虚拟主机中,它也会停止 有关于如何正确设置的提示吗 编辑: 忘了提到Web服务器正在Docker中运行。 这是XDebug的当前配置: # automat

我正在开发一个与其他人共享的本地服务器。此服务器有一个Apache/PHP实例,但它有多个可供不同用户使用的“站点”(VirtualHost)

我想让XDebug工作起来,这样我们每个人都可以独立使用它。问题是,如果我们启用XDebug,例如,我的IDE连接到服务器,并且我设置了一个断点,那么如果其他人正在浏览该页面,即使该页面位于他/她自己的虚拟主机中,它也会停止

有关于如何正确设置的提示吗

编辑:

忘了提到Web服务器正在Docker中运行。 这是XDebug的当前配置:

# automatically start debugger on every request
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_port=9000

# send all debug requests to 127.0.0.1
xdebug.remote_connect_back=0
xdebug.remote_host=host.docker.internal

#log all xdebug requests to see is it working correctly
xdebug.remote_log=/var/log/debug.log

谢谢。

除非您启用了
xdebug.remote\u autostart
硬编码
xdebug.remote\u host
(而不是使用
xdebug.remote\u connect\u back
)。您不想在多用户环境中真正地硬编码xdebug.remote\u host

调试会话仅在检测到XDEBUG_SESSION_START(这是浏览器扩展将设置的,或者当它添加到GET/POST参数中)和继续请求时初始化

也没有以下概念:

我的IDE已连接到服务器


根据每个请求,Xdebug(如果设置为使用cookie触发)将连接到IDE。并且它使用
xdebug.remote\u host
设置,或者如果启用了
xdebug.remote\u connect\u back
连接到,则使用推断的IP地址。请求结束时,该连接被切断。您可以使用
xdebug.remote\u log=/tmp/xdebug.log
创建一个日志文件,该文件将指示何时建立连接以及连接是否工作。

感谢您的快速响应,德里克。关于这一点:“我的IDE连接到服务器”,我的错误。我的意思是另一种方式,正如您所说,XDebug将连接到IDE。我会试试你说的话,看看是否管用我一直在看,德里克。正如您所说,设置了remote_autostart和remote_host。我已经用当前配置编辑了我的原始问题。web服务器正在Docker上运行。我不是配置这些东西的人。所以我不确定XDebug在Docker上运行时是否会有所不同我也尝试了一些设置。。。现在看来XDebug正在得到一些东西。但是:[5329]I:找到远程地址,正在连接到10.255.0.2:9000。[5329]E:连接到客户端超时(等待时间:200毫秒):-(我猜这与XDebug在Docker容器中有关?所以它没有选择正确的IP地址?我在本地网络中的计算机地址大约是192.168…这表明您仍然可以重新打开远程连接?这对Docker不起作用,因为Docker有不同的子网络。我不确定如何做。)lti用户有一个docker挡道的案例。我不太确定如何处理这个圆孔。