PhpStorm 2021.3 Help

在 PhpStorm 中使用高级 Vagrant 功能

本教程介绍如何在 PhpStorm 中使用 Vagrant 集成的高级功能。使用VagrantOracle VirtualBox的详细信息超出了本教程的范围。有关详细信息,请参阅相应的文档。

注意Vagrant: Working with Reproducible Development Environments页面中提到的先决条件。还要确保创建并初始化了一个 Vagrant 框。

使用内置的 SSH 终端连接到 Vagrant 机器

PhpStorm 具有内置的 SSH 终端,可用于连接到远程机器。

开始连接

要连接到 Vagrant 机器,请选择工具 | 在主菜单上启动 SSH 会话...。这将打开我们可以连接的主机列表。

配置的Vagrant 机器会自动添加到此列表中。单击它会打开与此 Vagrant 机器公开的 SSH 端点的连接。Edit credentials...菜单项允许手动输入连接信息。但是,我们将在此限制使用虚拟框。

使用 SSH

因此,在选择 Vagrant 之后,PhpStorm 使用 SSH 服务器连接到 Vagrant 机器并显示一个可以使用的终端:

Vargant in 终端

在 SSH 终端中,您可以执行以下操作:

  • 使用向上和向下箭头键滚动查看命令历史记录

  • 执行剪贴板操作

使用共享文件夹

Vagrant 允许在主机和 Vagrant 机器之间共享文件夹。例如,您可以使用这些文件夹将 Web 根目录内容从当前 PhpStorm 项目自动映射到 Vagrant 机器上的 Apache 虚拟主机目录。

添加路径映射

打开Vagrantfile进行编辑 ( F4,并为路径映射添加配置条目:

Vagrant.configure("2") 做 |config| config.vm.synced_folder "src/", "/srv/website" 结束

重新加载流浪者

通过选择Tools |重新加载Vagrantfile 流浪者 | 在主菜单上重新加载:

重新加载流浪汉

命令执行的结果显示在运行工具窗口中:

Vagrant 重载结果

一旦 Vagrant 机器重新加载,一个新的路径映射就可用了。例如,当使用内置的 SSH 终端连接到 Vagrant 机器时,我们会看到/vagrant文件夹的内容映射到 PhpStorm 本地项目文件夹。注意:从这个文件夹中删除文件会删除两端的文件!

指定 Vagrant 实例文件夹

默认情况下,Vagrantfile和所有其他 Vagrant 细节(如 Puppet 清单)都放在 PhpStorm 项目的根目录中。由于这并不总是可取的,因此 PhpStorm 应该在其中查找Vagrantfile的实例文件夹可以通过设置/首选项的Vagrant页面进行配置:

指定 Vagrant 实例文件夹

通过设置管理 Vagrant 插件

在设置/首选项的Vagrant页面中,您还可以管理 Vagrant 插件。在插件选项卡中,使用工具栏按钮安装、卸载和更新插件。

添加一个流浪插件

您还可以安装许可证,例如,VMWare Fusion Provider允许在 VMWare 上运行 Vagrant 机器。

供应商支持

Vagrant 默认使用Oracle VirtualBox作为虚拟化平台。但是,您可以使用provider更改虚拟化平台,因此虚拟机可以由 VirtualBox 以外的系统运行,例如VMWareAmazon EC2。在Vagrant 插件列表中查找可用的提供程序。

对于每个命令,您应该将要使用的提供程序传递给 Vagrant。为了简化此过程并让 PhpStorm 自动将提供程序名称添加到每个 Vagrant 命令,请在设置/首选项的Vagrant页面中指定提供程序。您机器上安装的所有提供程序都可以从设置中获得。选择后,提供程序将用于执行 PhpStorm 中的所有 Vagrant 命令:

重新定义流浪者提供者

(重新)配置 Vagrant 机器

Vagrantfile可以包含一系列配置程序,一旦虚拟机运行,它们就可以启动安装和配置例程

工具| 流浪者 | Provision主菜单命令在已经运行的 Vagrant 机器上调用配置的配置器,而无需首先销毁虚拟机。

有关详细信息,请参阅配置文档。

使用环境变量

Vagrantfile中的环境变量可用于 Puppet 节点、Puppet 环境、自定义事实、AWS 键。

在 Settings/Preferences 对话框的Vagrant页面中,指定要传递给Vagrantfile的项目特定环境变量:

添加环境变量

设置后,这些环境变量将在Vagrantfile中引用,使用语法#{ENV['name_of_variable']}

Vagrantfile 中新添加的环境变量
最后修改时间:2021 年 10 月 20 日