使用 ASP、ColdFusion 或 PHP 等服务器端语言开发网站时,可通过本地测试服务器查看动态代码生成的页面的实际效果,然后将它转入生产阶段。如果您要使用动态页面进行任何预览,Dreamweaver 实际会要求您设置测试服务器。虽然可以将 Internet 上的实时服务器用于测试,但是一般情况下这不是一个好主意。首先,即使连接速度较高,整个过程还是较慢。其次,您必须使用连接到 Internet。最重要的是,会冒险暴露所有错误,这可能为恶意攻击者提供了设置的重要信息。而设置本地测试服务器更为简单和安全。
本文说明了什么是测试服务器,以及 Dreamweaver CS5 中的设置过程变化。对于 Dreamweaver 支持的所有服务器端语言而言,基本原则是相同的。本文末尾的链接为您提供如何为您所选的服务器端技术安装本地测试环境的具体说明。
如果您已经有本地测试服务器,并且只想知道如何在站点定义中注册详细信息,请跳至在 Dreamweaver CS5 中定义本地测试服务器。
我是否需要本地测试服务器?
并非所有网站都需要本地测试服务器。如果页面只包含静态 HTML、CSS 和 JavaScript,无需测试服务器即可在实时视图中直接测试页面,或者按 F12 (Windows) 或 Option+F12 (Mac) 在浏览器中预览它们。这同样适用于包含在 Flash Player 中回放的内容(如 SWF 或 FLV 文件)的网页。
仅当您使用 ASP、ColdFusion 或 PHP 等服务器端技术时,需要测试服务器。需要服务器处理动态代码并将它转换为可在实时视图或浏览器中显示的 HTML 输出。测试服务器的工作压力就像一个普通网站。唯一的区别在于,它不在开放的 Internet 上,而是在发布站点或个别页面之前熨平所有褶皱的地方。
为什么不可以将自己的网站用于测试?您可以这样做,但不建议。您的远程服务器是网站的对外面。即使尚未推出网站,将远程服务器用于测试也不算一个好主意。
出于安全原因,许多实时服务器会禁止错误消息,使得对错误进行疑难解答变得困难。并且,除非您为尝试创建一个单独位置(文件夹),否则一旦发布站点,就无法在任何位置进行测试。而将页面从测试文件夹移到目标位置时可能出现一些问题。最大的危险可能是搞不清处理的是测试页还是实际页。稍有不慎,网站就会受损。
就效率和安全性而言,投入本地测试服务器的时间是物有所值的。如果要使用一种服务器端技术进行正式开发,这不是一个选项,而是必须的。
那么,如何获得测试服务器呢?设计工作室和大型组织通常在称为登台服务器的专用机器上测试站点,这些服务器可通过本地网或 Internet 访问。但是,对于个人开发人员,一般不需要这样做。最简单的解决方案是通过以下方法在本地计算机上创建一个测试环境:安装一个 Web 服务器(负责处理网页),再安装一个应用程序服务器(能处理显示在网页中的动态数据)。可能还需要安装一个数据库服务器。
为了避免任何误解,这些服务器并非单独的机器,而是可以安装在任何适当计算机上的软件。您需要其中哪些服务器取决于您选择的服务器端技术。
ASP 使用 Microsoft IIS,后者与大多数版本的 Windows 捆绑在一起,但不会自动安装。ColdFusion Application Server 有自己的 Web 服务器,它可与现有的 Web 服务器及数据库集成,但最简单的方法是使用内嵌的 ColdFusion Web 服务器和数据库管理系统;有关更多信息(和下载),请参阅 ColdFusion 开发人员中心。PHP 一般使用 Apache Web 服务器,但也可以安装在 IIS 中。Apache 和 IIS 是免费的。ColdFusion 是一个商业产品,但用于测试的开发人员版是免费的。您还可以获得免费的开发人员版 MySQL 和 Microsoft SQL Server 数据库。
对于 PHP/MySQL 开发,您可以获得一体软件包(也是免费的),它可通过一个简单操作安装必要的软件。最受欢迎的是 XAMPP for Windows 和 MAMP for Mac OS X。
对于测试,任何一个必要软件都不需要高性能硬件。如果有本地网,您可以将一台旧计算机作为测试服务器。但是除非您磁盘空间不足,否则在主计算机上为您选择的服务器端技术安装软件可能要简单得多。一旦安装后,它会在后台运行,几乎不占用任何资源。
如何使用本地测试服务器?安装必要的软件后,您只需在 Dreamweaver 中为站点定义添加一些详细信息即可(下一部分提供说明),这样服务器就知道在实时视图中显示页面或在浏览器中预览它们之前如何处理页面中的动态代码了。为了使服务器能处理代码,Dreamweaver 需要将您的文件复制到服务器的文档根或文档根中的某个子文件夹(虽然一般首先将文件存储在那里)。文档根是网页和脚本存储位置的顶级文件夹。在远程服务器上,它通常称为 public_html 或 www。在本地测试环境中,它通常称为 htdocs 或 wwwroot。
您还需要将本地测试服务器的 URL 告诉 Dreamweaver。如果它在同一台计算机上,地址通常为 http://localhost/。
为 Dreamweaver 站点设置提供这些详细信息后,实时视图和“在浏览器中预览”会像静态 HTML 文件一样显示包含服务器端代码的页面(即动态页面)。
在Dreamweaver CS5中定义本地测试服务器
Dreamweaver CS5 中的站点定义过程的变化旨在仅当需要时才提示您提供信息,从而帮助您更快地开始使用。如果使用过先前版本的 Dreamweaver,您会发现过渡很轻松。“基本”和“高级”选项卡已删除。现在只有一个对话框。
基本站点定义在 Dreamweaver CS5 中定义站点只需要用于存储本地文件的站点和文件夹的名称。
- 选择“站点”>“新建站点”。
- 在“站点名称”文本框中为站点键入一个名称。
- 单击“本地站点文件夹”文本框旁的文件夹图标,选择要存储本地版网站的文件夹。
- 单击“保存”(请参阅图 1)。
图 1.基本站点定义只需要两条信息。
- 单击“完成”,关闭“管理站点”对话框。此时即可开始处理站点。
注意:如果测试服务器在本地计算机上,通常将本地文件存储在测试服务器的文档根中。这样,每次测试文件时,Dreamweaver 无需将这些文件复制到测试服务器。 定义测试服务器第一次尝试测试包含服务器端代码的页面时,可使用实时视图或按 F12/Option+F12 在浏览器中预览,Dreamweaver 会显示一条警报,提示您指定测试服务器(请参阅图 2)。
图 2.Dreamweaver 提醒您通过设置服务器测试动态页面。
按照这些步骤操作,定义测试服务器:
- 单击“是”。
- 在“站点设置”对话框的“服务器”部分,单击加号按钮(请参阅图 3)添加测试服务器定义。
图 3.单击加号添加新的服务器定义。
- 将打开一个新对话框,可在其中定义服务器详细信息。测试服务器和远程服务器都使用这个对话框。要设置本地测试服务器,请从“连接方式”选项中选择“本地/网络”。
图 4.本地服务器连接的基本选项
- 在“服务器名称”文本框中键入服务器的名称(请参阅图 4)。 与先前版本不同,Dreamweaver CS5 允许您为一个站点定义多个服务器。因此,这标识了定义属于哪个服务器。
- 单击“服务器文件夹”文本字段右侧的文件夹图标,导航到测试服务器根内部的文件夹(您准备在那里测试文件)。 Apache 服务器根通常称为 htdocs,但某些一体 PHP 软件包(如 WampServer 和 EasyPHP)使用 www。ColdFusion 和 IIS 都使用 wwwroot。
- 然后,键入测试服务器的 Web URL。 这是访问测试服务器时需要输入浏览器的 URL。如果选择测试服务器根作为“服务器文件夹”的值,“Web URL”的值通常为 http://localhost/。如果使用测试服务器根的子文件夹,并将它称为 phptest,“Web URL”通常为 http://localhost/phptest/。
- 单击对话框顶部的“高级”按钮(请参阅图 5)。 这将显示远程服务器和测试服务器选项。您正在设置测试服务器,因此可以忽略顶部的选项。
- 从“服务器型号”下拉列表中选择您的服务器技术。
图 5.为测试服务器选择服务器技术。
注意:“服务器型号”列表提供您可以在 Dreamweaver 中测试的七种服务器技术的选项。但是,Dreamweaver CS5 不再支持通过 ASP JavaScript、ASP.NET C#、ASP.NET VB 或 JSP 中的服务器行为和记录集自动生成代码。 - 单击“保存”返回主“站点设置”对话框,此时应列出您的测试服务器。
- 确保选中“测试”复选框(请参阅图 6)。
图 6.该复选框确认此服务器用于测试。
对话框左下角的四个图标此时应当都处于活动状态。除了添加新服务器,您还可以单击减号图标删除当前选中的服务器。单击铅笔图标可编辑选定服务器。最后一个图标允许您复制服务器定义。如果大多数服务器详细信息都相同,此图标很实用。您可以复制现有定义,然后编辑它。
Dreamweaver 将通知您它正在更新站点缓存。完成后(除非您的站点较大,否则一般只需要几秒),实时视图和“在浏览器中预览”一般可用于包含服务器端代码的文件。
疑难解答有时会出错。本地测试服务器最常见的问题原因是没有为“服务器文件夹”和“Web URL”输入正确的值。它们必须指向相同的位置:
- “服务器文件夹”是指向服务器文档根中的站点根的物理路径。
- “Web URL”是您在浏览器地址栏中为到达同一位置而输入的值。
图 7 说明了显示在实时视图中的 PHP 页面中的这两个值之间的关系。
图 7.实时视图使用内建的浏览器显示动态页面。
在本例中,服务器的文档根位于 C:\htdocs。它等同于 http://localhost/。为了在我的本地测试环境中测试多个站点,我将站点的“服务器文件夹”定义为 C:\htdocs\phptest。因此,“Web URL”的值必须为 http://localhost/phptest/ (请参阅图 4)。
以下是服务器端代码在实时视图或“在浏览器中预览”中无法正确显示时要检查的一些其他事项:
- 本地 Web 服务器是否正在运行?
- 是否有软件防火墙妨碍了 Dreamweaver 与 Web 服务器之间的通信?尝试暂时禁用防火墙是否有区别。
- 选择“视图”>“实时视图选项”。确保选中“为文档来源使用测试服务器”选项。
后续工作开发使用服务器端代码的网站时,使用本地测试服务器是最有效的方式。它更快、更安全,并且已简化 Dreamweaver CS5 中的设置过程,使它更简单。
如果您还未决定使用哪种服务器端技术,请查看我应该选择哪种服务器端技术?
以下文章可以帮助您为所选的服务器端技术设置测试环境:
|