简答
我建议您将 PuPHPet 文件、生成的 Vagrantfile 及其环境保存在与您的站点(源)文件目录分开的目录中,因为这对我来说似乎更有条理和安全。为每个项目设置一个新的虚拟机非常好,但我更喜欢设置一个 Vagrant 盒子并让它同时为我的所有项目提供服务,所以我不会像我一样经常上下放置盒子在项目之间切换。
解释
为此,请在 PuPHPet.com 上配置您的“共享文件夹对” ,以将您的文件夹源(/source/code/path/name
源文件在主计算机上的位置)映射到文件夹目标(/destination/path/name
在 Vagrant 生成的虚拟机上,您的 Vagrant 生成Web 服务器可以为您的每个项目(屏幕截图)找到它们。配置 Web 服务器(使用 PuPHPet 的Web 服务器配置页面)以引用此类/destination/path/name
目录,它将这些工作文件映射到可用的服务器名称、服务器别名和文档根目录。
作为警告,不要将/var/www
文件夹直接用作文件夹目标。在某些配置中,这将导致 Apache在使用 Vagrant 进行配置时安装失败。
在config.yaml
PuPHPet 创建的文件中,您将看到如下条目:
synced_folder:
vflsf_12randomlettersandnumbers:
source: /Users/unrivaled/www-development-source-files
target: /var/www/dev
在您将配置环境的 PuPHPet.com 上,有一个部分可以配置您的“共享文件夹对”。 这是您告诉 Vagrant您的文件现在在哪里(在您的主计算机上)以及您希望它们出现在 Vagrant 生成的虚拟化环境中的位置。
这里要掌握的一个重要概念是我对“是”和“出现”这两个词的使用。
您的文件“在”您的计算机上——您可能正在使用它来编辑和调试您的项目,并且您希望从中运行 PuPHPet 来托管 Vagrant 生成的 Web 服务器。这是您的“主机”操作系统,您的开发文件(源代码)将始终简单地驻留在此处。你永远不需要在你的主计算机和 Vagrant 生成的 Web 服务器之间来回复制它们。
相比之下,您的文件“出现”在运行时创建的 Vagrant 生成的 Web 服务器上vagrant up
,它在运行 Web 服务器、数据库引擎等的 Vagrant 生成的虚拟化环境中生成一个“来宾”操作系统。请注意,您不是在那里复制文件(到“来宾”操作系统上)。相反,Vagrant 会根据您对前面提到的“共享文件夹对”的使用,让它们出现在那里:
文件夹源代表您的源文件所在的主计算机(“主机”操作系统)上的位置。
文件夹目标代表您的虚拟计算机(“客户”操作系统)上的位置,您希望 Vagrant 使它们在客户操作系统中可见。
这样,您只需在开发环境中编辑您的文件,无论它们现在在哪里;Vagrant 将确保您的 Vagrant 生成的 Web 服务器即时、实时地看到这些文件。即使您在vagrant destroy
这个生成的 Web 服务器环境中,您的源文件也将完全保持原样。 只需重新创建一个新环境 ( vagrant up
),然后 bam!你去吧。回到工作。