使用命令行工具将 PHP 应用程序部署到 Windows Azure





0/5 (0投票)
本文将展示在 Windows Azure 中运行 PHP 应用程序是多么简单。
摘要
本文将展示在 Windows Azure 中运行 PHP 应用程序是多么简单。我们将利用适用于 PHP 的 Windows Azure 命令行工具和一个非常简单的 PHP 应用程序。本文应提供足够的信息来开始在 Windows Azure 环境中进行操作。
引言
Windows Azure 作为云平台的一个优势和主要卖点是,它不仅限于 .NET 技能的开发人员使用。在 Windows Azure 上可以使用的众多替代开发平台之一就是 PHP。本文讨论了如何使用适用于 PHP 的 Windows Azure 命令行工具将一个简单的 PHP 应用程序编译成一个可以部署在 Windows Azure Web Role 上的包。然后,通过显示无处不在的 PHP Info 页面,演示 PHP 已成功安装。
安装
为本文进行设置的内容不多。只需快速访问 http://azurephptools.codeplex.com 下载最新版本的 Windows Azure 适用于 PHP 开发人员的命令行工具即可。下载撰写本文时最新版本,日期为 2011 年 6 月。下载的是一个 zip 文件。保存该 zip 文件并解压其中的内容。稍后我们将使用它来打包我们的 PHP 应用程序。
注意: 在实际使用命令行工具之前,有几个先决条件需要满足。如果您还没有安装,则需要先安装 Windows Azure SDK 和 PHP。有关如何通过 Web Platform Installer 安装这些内容的快速摘要,请查看本文。
在继续之前,有一点关于从网上下载的 zip 文件需要说明。在 Windows Vista 和 Windows 7 中,zip 文件会被标记,以告知操作系统它可能包含有害应用程序。我们需要在解压内容之前删除此标记。为此,请右键单击 zip 文件,然后从出现的上下文菜单中选择“属性”。在文件属性对话框中,单击底部的“取消阻止”按钮。然后继续解压包。
PHP 开发人员可以使用大量工具来开发他们的应用程序。这些工具从简单的文本编辑器(如 Notepad、vi 和 Emacs)到大型集成开发环境(如 Eclipse、Zend Studio 和 PHPStorm)不等。能够从多个平台和工具中进行选择是 PHP 开发的一个优势。开发人员不必局限于一个平台或开发环境。本文不会偏袒任何一种开发环境。它假设我们已经准备好一个 PHP 应用程序可以推送到 Windows Azure。
创建项目
在本例中,我们将创建一个非常简单的单页 PHP 应用程序,该应用程序将输出 PHP 信息表。创建一个应用程序文件夹,并在该文件夹中创建一个名为 index.php 的文本文件。打开该文件并输入以下代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>PHP on Azure Demo</title> </head> <body> <?php phpinfo(); ?> </body> </html>
保存此代码。
在我们开始打包应用程序以部署到 Azure 之前,我们应该先收集一些基本信息。创建一个简单的表格并填写右侧的信息:
标题 | 用途 | 值 |
Azure 工具目录 | 我们需要知道工具下载到了哪里。 | |
项目名称 | 项目名称 | |
PHP 运行时路径 | 本地 PHP 版本的路径。不要包含末尾的反斜杠。 | |
源路径 | 应用程序源文件的路径。 | |
目标路径 | 包输出应位于的路径。 |
填写右侧表格中的信息后,我们就可以打包应用程序了。打开命令提示符。在 Windows Vista 和 Windows 7 中,请确保以管理员身份运行命令提示符。导航到 Azure 工具目录文件夹,然后运行以下命令,用上面表格中的值替换变量值:php package.php --project={Project Name} --source={Source Path} --phpRuntime={PHP Runtime Path} --target={Target Path}
这里还有一些额外的、更高级的参数可以传递,但这足以满足我们打包应用程序的基本需求。
运行此脚本时,可能会遇到几个常见的错误。
- 如果出现以下错误消息,则表示 PHP 可执行文件不在路径中。
执行此语句,然后再次尝试打包器:path = %path%;{PHP Runtime Path}
- 如果出现此消息:
则表示 `phpRuntime` 参数添加了末尾的反斜杠。
在清除所有错误消息后,您应该会看到类似以下的输出:
这就是将应用程序构建成我们可以部署到 Windows Azure 的包的所有内容。请务必记下此输出窗口中的部署包和配置文件位置。在下一部分部署应用程序到 Windows Azure 时,我们将需要这些信息。
部署项目
将应用程序部署到 Windows Azure 是一个相当简单的任务。首先,我们需要一个 Windows Azure 帐户。您可以通过此地址获得免费的 Windows Azure 试用版,有效期至 2011 年 9 月底:http://www.microsoft.com/windowsazure/free-trial/
拥有 Windows Azure 帐户后,使用创建帐户时使用的 Windows Live ID 登录帐户(
接下来,我们需要创建一个新的托管服务。要创建新的托管服务,请单击 Windows Azure Platform 门户顶部功能区的“新建托管服务”按钮。此时应会显示一个如下所示的模态对话框。
接下来,我们需要填写此新托管服务的字段。输入服务的名称和 URL。通常,这与应用程序名称相同,但不必如此。此外,URL 在所有 Windows Azure 中必须是唯一的。同时输入部署名称;同样,这可以与应用程序名称相同。
最后,我们需要上传应用程序包和配置文件。对于每个文件,单击“本地浏览…”按钮,然后导航到上面输出中指定的包位置。
选择包的 .cspkg 文件和配置文件的 .cscfg 文件。单击“确定”按钮,Windows Azure 将开始上传包。可能会出现一个警告消息,提示我们只有一个实例,并建议使用两个实例来实现高可用性。单击“是”按钮进行覆盖并提交应用程序。
应用程序上传后,Windows Azure 将开始部署。部署完成后,我们可以导航到运行在 Windows Azure 云中的应用程序的暂存版本。此暂存版本将有一个全局唯一标识符 (GUID) 作为 URL,您可以在主门户的右侧找到该 URL。
单击此 URL 将打开一个 Web 浏览器,显示我们的应用程序。
结论
以上是对如何使用适用于 PHP 的 Windows Azure 命令行工具构建可上传到新的 Windows Azure WebRole 的包的简要概述。PHP 在 Windows Azure 中还有许多其他功能可以实现,包括使用 Windows Azure SQL 存储。互联网上有大量优质资源可供学习如何用 PHP 在 Windows Azure 中实现更多功能。推荐的首站是此 URL:http://azurephp.interoperabilitybridges.com/ 在这里可以找到指向 Stack Overflow、教程和下载的更多信息链接。
有关使用适用于 PHP 的 Windows Azure 命令行工具的更多信息,请参阅 CodePlex 项目的文档页面:http://azurephptools.codeplex.com/documentation