局域网服务器上的Docker / Xdebug多个开发人员

时间:2019-05-22 03:02:52

标签: php apache docker xdebug

我正在尝试在办公室的某些容器上设置Xdebug。我们有一台运行Docker的Ubuntu服务器,该防火墙通过LAN全面开放。

理想情况下,每个开发人员都希望使用PhpStorm(我们通过已安装的samba驱动器进行工作)来调试各种网站上的代码。

我们使用Apache并拥有jwilder nginx代理来在Docker中为多个站点提供服务器。

到目前为止,我已经尝试设置没有运气的DBGp代理。 php.ini看起来像这样:

xdebug.remote_enable=1
xdebug.remote_host=containername
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_mode=req

在DBGp代理的容器内,我将其与Apache放在同一网络上,并在外部绑定9001,例如-“ 9012:9001”

使用IDE似乎确实可以在PhpStorm中检测到DBGp代理。我侦听连接并将IDE密钥放在get变量中以启动Xdebug会话。我也尝试过Zend Debugger扩展。此时,没有命中任何断点,脚本继续。

我是否需要在PhpStorm中执行任何操作以告知PhpStorm文件目录与服务器上的目录不匹配?我在php.ini文件中丢失了什么吗?

在这种情况下,我可以简单地使用远程连接返回多个开发人员并摆脱DBGg吗?如果该端口通过docker主机上的UFW阻止到外部世界(我认为至少每个人都说这些开发站点会暴露在世界上,那么至少每个人都可以触发Xdebug)会带来安全风险吗?

1 个答案:

答案 0 :(得分:0)

在这一点上很难说出问题所在以及如何解决。您是否尝试在第一行代码处中断(运行->在第一行处中断)?如果这不能停止,则您的调试连接未建立。也尝试使用feature/xxx而不是定义远程主机