在我们当前的项目中,我们有 1. 一个生产服务器,2. 一个测试服务器和 3. 几个在 Windows 下使用 xampp 的开发人员。Prod- 和 Testserver 由 UNIX 运行。
其他开发人员之一反复抱怨我们在 windows 下使用 xampp。他说我们应该在测试环境上创建一个 v-server 用于开发目的(也许每个开发人员一个 v-server,我不太清楚)。对我来说,这感觉非常错误。但我不能真正解释为什么,除了明显的原因,比如你必须连接到远程开发服务器等。
在我们当前的项目中,我们有 1. 一个生产服务器,2. 一个测试服务器和 3. 几个在 Windows 下使用 xampp 的开发人员。Prod- 和 Testserver 由 UNIX 运行。
其他开发人员之一反复抱怨我们在 windows 下使用 xampp。他说我们应该在测试环境上创建一个 v-server 用于开发目的(也许每个开发人员一个 v-server,我不太清楚)。对我来说,这感觉非常错误。但我不能真正解释为什么,除了明显的原因,比如你必须连接到远程开发服务器等。
这是我的做法。有4个阶段。
1) 本地服务器。在这里,您可以处理自己的更改、功能分支等。完成您的工作,确保它在您的机器上运行,然后请求将其拉入开发分支。
2) 开发服务器。这是开发分支中任何内容的抄本,旨在作为查看您的代码如何 a) 在实际环境中工作和 b) 与其他人的代码一起玩的一种手段。
3)“测试服务器”,这是应该进行质量检查的地方。此服务器上的设置应尽可能接近生产上的设置。并允许查看您一直在处理的所有错误修复、功能和改进,并予以解决或报告。
4) 生产。当代码出现在此处时,它应该已经稳定并可以使用了。这应该是客户的“最终产品”(即使您仍在修复错误/进行维护)
如果环境的配置都尽可能相似,那么当您在环境之间移动(从开发到测试到实际运行)时,您不太可能会感到意外。
与在基于 Unix/Linux 的服务器上运行相比,通过 XAMPP 在 Windows 下运行 PHP 会导致行为上的细微差别。必须处理这些会给您的开发增加不必要的开销,并增加无法及时发现错误的风险。
在您的办公室运行虚拟服务器允许您继续使用 Windows 桌面,但即使您正在编写代码,也可以在生产服务器的准确模拟上运行您的代码。它还可以简化系统管理员的工作,因为当您需要升级 PHP、设置备份等时,他们不必管理大量单独的 PC。
至于不便之处,如果您使用“samba”,这没什么大不了的 - 开发服务器上的文件可以作为 Windows 文件共享访问,因此您可以继续编辑它们,就像它们在您自己的机器上一样. 几乎唯一需要直接(通过 SSH)连接到服务器的时候是当您更改 Apache 配置并需要重新启动/重新加载守护程序以使更改生效时。
管理专用开发环境的一个好处是您可以实施自动构建过程,定期重新部署开发服务器。这增加了在开发周期早期发现不兼容更改的可能性。