如何避免在 PhpStorm 中为多个流浪服务器弹出 "Incoming connections"

How to avoid "Incoming connections" popup in PhpStorm for several vagrant servers

我有两个 vagrant 服务器并根据 PhpStorm 项目为它们服务。我也为两者配置了 xdebug。调试工作。但是当我添加第二个服务器时,我有一个弹出窗口 "Incoming connections",其中包含我的项目选项。它询问 xdebug 应该将传入请求关联到哪个项目。我发现了问题。发生这种情况是因为两台 vagrant 机器具有相同的 ip。而PhpProjects也有相同的项目ip。所以 PhpStorm 不能定义用于调试的写入项目是很自然的。但是我应该这样做吗?首先,我尝试更改 vagrant 机器 ip:

sudo ifconfig enp0s3 192.168.0.253 netmask 255.255.255.0

此命令挂起。还尝试在 /etc/network/interfaces:

中添加配置
iface enp0s3 inet static
      address 192.168.0.253
      netmask 255.255.255.0

也没有成功。我搜索了更改 ip 的 vagrant 方法,但没有。我还试图找到一种方法来告诉 xdebug 它应该将哪个 ip 发送到 PhpStorm 但是如何呢?

不太可能只有我有这个问题,但没有找到任何关于这个问题的相关信息。

事实证明解决方案很简单。 Virtual box 有一个特定的机器 ip 选项。可以配置如下(Vagrantfile):

config.vm.provider "virtualbox" do |vb|
    vb.customize ['modifyvm', :id, '--natnet1', '192.168/16']

这将设置一个与默认 IP 不同的 IP 10.0.2.15。基本上,192.168/16 可以是您想要的任何有效 ip。但是在给定的示例之后,将为机器设置一个随机 ip。这个 ip 可以通过连接到一台机器 (ssh) 并检查 ip 配置作为你 OS 的任何机器来找到。在 ubuntu ifconfig 有效。

然后你需要在PhpStorm中创建一个服务器,并在设置Languages and frameworks > PHP > Servers中获得ip。您很可能还需要为服务器设置路径映射。