Windows XP下PHP+MySQL环境搭建(2)

http://www.itjxue.com  2015-07-17 08:20  来源:未知  点击次数: 

开发、测试、部署

开发环境是什么?

如果您从事过正式的开发工作,就应该熟悉术语开发环境。根据您公司的复杂程度,这可能意味着从运行着 10 或 15 个 Apache 实例的 Sparc 10 高端 UNIX box 到具有 IDE(集成开发环境)的膝上型电脑的任何环境。事实上,不同的人可能对此术语有不同的定义。如果您没听说过这个术语,情况可能反而更好 —— 因为您不会像许多开发人员那样对此术语有很多误解。针对本教程的目的,我提出了一个简单的定义:开发环境就是您在其中进行开发的环境。我知道这听起来像是老生常谈 —— 而且我也不应该根据这个术语的字面含义定义它 —— 但是这个定义事实上非常有用。

首先,我假定您是一位开发人员。您编写一些代码,或者您希望编写一些代码,或者有人雇您编写一些代码,总之,您正在编写代码。而且,除非必须用算盘计算,否则您就需要在计算机上工作。那么,这台计算机就是您的开发环境。看到了吧,我告诉过您这非常简单!

更重要的是,您的开发环境仅 指您的计算机。它不是(例如)您将代码加载到其中来检查代码是否有效的测试服务器。它不是位于一个遥远的国家的、您的整个公司用来实现绝密部署的服务器群。它也不是用来在主计算机故障时工作的备用机器。它仅指您在其中编写代码的计算机。

这里的意思是说,任何时候当您将代码移动到另一台计算机、另一个操作系统、另一个具有不同邮编的地区的时候,您都要进行更改。可能您会对您的机器应用一个补丁,但是您无法对目标计算机也应用补丁。可能一台机器运行 Apache,而另一台机器运行 iPlanet。无论在何种情况下,两台计算机永远不会完全相同。而当我谈及开发环境时,我不希望处理更改。因此,开发环境就是您在其中进行操作的机器,而且它和另一地点的其他 机器是不相同的。

您是否认为无需进行任何测试工作?

您和我都清楚:测试很乏味。测试让人痛苦,速度还慢,实在让人兴奋不起来。但是,它能让您保住工作。那些测试自己代码的开发人员能够在周末尽情玩水橇和购买新房子的原因很简单,那是因为他们的代码在部署之后能够正常工作(请参阅 什么是部署?,获得关于部署的更多信息),他们不用担心代码会出现问题。

测试的秘密在于一台计算机(您的开发环境)和另一条计算机(您希望您的代码在其中运行的机器)之间的差别。如果您能够确定这些差别,并解决它们,测试就会变得很容易。例如,如果您的开发环境是一台运行 Windows XP 的 PC(使用 Apache、PHP 和 MySQL),而您计划在一台运行 Apache、PHP 和 PostgreSQL 的 Linux 服务器上运行您的代码,那么就应该注意 Windows XP 和 Linux,以及 MySQL 和 PostgreSQL 之间的区别。因为 Apache 在 Linux 和 Windows 上差不多相同(PHP 也是如此),所以您无需将注意力放在这些应用程序上。

在理想的情况下,您应该拥有三台完全独立的机器用于编程:

开发环境:用于在其中编写代码的机器,根据您喜欢的代码编辑器和用户首选项进行设置。

测试机器:用于测试代码的机器,完全模仿部署服务器进行设置。惟一的区别是:它是一台私人机器,而且最好独立于网络中可能干扰它的其他机器。

部署机器:这是代码最终在其中运行的机器。此机器仅具有运行代码所需的软件,没有用户首选项或开发工具(事实上,如果设置正确,它甚至不允许远程用户登录)。
如果以上是您的设置,那么您真是幸运。通常情况下,您不得不在一台机器上至少结合上述两种角色。例如,您可能在一台膝上型电脑中进行开发,而在一台 UNIX 服务器上进行测试和部署。在这种情况下,您可能要在一个不同的端口(例如 8080 或 9900)上进行测试设置,以便外部世界无法看到您的测试代码。

根据您当前的学习目的,在设置好开发环境并使其运行之前,无需过于担心测试环境。您只需了解您的开发机器中有什么软件以及它和目标部署服务器之间的区别。这将帮助您隔离您必须在测试过程中关注的内容。

什么是部署?

一旦您编写了工作代码,您通常必须确保它不仅能够在您的机器(您的开发环境)上工作,而且能够在它将要在其中运行的机器中工作。因为大多数开发人员使用的服务器都不在其办公室,这意味着经过良好测试的代码要被带离您的开发环境,然后被部署。这可能会涉及以 FTP 方式将代码上传到您的 Internet 服务提供商 (ISP)(一个服务器群,位于一间比您工作的房间冷得多的房间中),或者将一张满是代码的 CD 交给系统管理员。无论是什么情况,这就是您需要将代码部署到另一台机器的时候。

我在本教程中不会过多涉及部署这个主题,但是您需要理解这是在应用程序开发过程中必须处理的一件事。即使只是设置个人 Web 站点上的博客,仍然需要将位于开发环境中的代码部署到某个地方,以便全世界都能够看到它。乍一看,这使开发环境看起来没什么用处。计算机和计算机之间的差异突然冒了出来。然而,这恰恰是使开发环境有用的原因。当您进行部署的时候,您已经在本地机器上编写了代码,并排除了所有软件错误(HTML 被正确编写且在各种浏览器中显示正常;PHP 脚本全都可以执行且是安全的;MySQL 连接工作正常;密码已被设置)。您还在一台类似部署目标的机器上测试了代码,并编写了此过程中的操作指南。因此当您真正部署代码时,成功率是很高的 —— 事实上,部署操作通常也很乏味。不过就是单击 Upload 按钮,Commence FTP 按钮,或者 Burn 按钮,剩下的就是等待了。

然而,如果没有开发环境,这一切就会更像是滚骰子。您上传的是没有运行过(因为没有正确设置开发环境)也没有测试过(如何测试没有在最初位置运行过的东西?)的代码。因此,您不能期望此代码能够正常工作。您若突然在一台实际服务器上测试代码,您的用户、朋友和家人肯定会得到错误和怪异的消息。这可不是开发代码的方式,因此让我们(现在一起)摒弃这种方式,回去设置开发环境。

看起来有点正式了,不是吗?

如果希望构建一个绝佳的 Web 站点,那么 PHP 为您提供了一个实现此目的的有趣、舒适的脚本工具,这看起来可能有点好过头了。如果拥有多台服务器和多个测试人员和开发人员的团队,这自不用担心。然而,即使在单人生产中,您仍然会希望自己的站点在被上传到 ISP 时能够正常运行。如果您记住这些概念(如果不是实际细节的话),那么您将能够发现上传站点时所出现的 bug。您可能还会发现,在知道这些 bug 出现的原因后,您会更加享受这个过程。

(责任编辑:IT教学网)

更多