【问题标题】:PHP Application on AzureAzure 上的 PHP 应用程序
【发布时间】:2015-02-02 21:03:07
【问题描述】:

我正在尝试使用 Azure SDK for PHP 将我的 PHP Web 应用程序作为云服务 (Webrole) 迁移到 Azure (PaaS)。天蓝色云服务有支持吗 对于“COM互操作”。我的应用程序与第三方软件交互以进行结果处理。如何在云服务中安装此软件?

【问题讨论】:

  • 这个网站是为编程问题。我们不是一般的服务器技术支持。

标签: azure azure-web-roles paas azure-cloud-services


【解决方案1】:

云服务在 Windows Server 上运行,因此一般来说,答案是“是”,支持 COM 互操作。

更具体地说,您的 PHP 解决方案可能需要安装一个需要 COM Interop 才能工作的组件 - 您需要将该组件的安装自动化作为部署过程的一部分 using a statup task

附带说明一下,适用于 PHP 的 Azure SDK 更多的是支持自动化以及与 Azure 服务(blob 存储等)的交互,而不是帮助将 PHP 应用程序“移植”到 Azure。如果您的应用程序现在在带有 IIS 的 Windows Server 上运行,它应该在 Azure Web 角色上运行。

【讨论】:

  • 谢谢西蒙!我确实有一个后续问题,是否有更好的方法来打包我的应用程序以将其作为云服务部署在 azure 上?
  • 您的选项相当有限,因为您使用的是 PHP。在最坏的情况下,您可以切换到部署到让您完全控制服务器的 VM。如果您真的想使用 Web 角色,请遵循此处的指导:blogs.msdn.com/b/silverlining/archive/2012/06/21/… 然后您可以修改 setup.cmd 文件以安装您的先决条件(如果它们支持无人值守安装)。
【解决方案2】:

您可以在云服务中使用启动任务,并让该任务(可以是批处理文件或 powershell 脚本)运行 regsvr32.exe 以注册 COM .dll,或启动 setup.exe 或其他您的第三方软件使用的特定安装程序。

使用云服务使启动任务具有幂等性是一个好主意,尤其是对于 COM .dll 注册或第三方软件安装等任务。您可以通过在云服务实例的本地存储上创建一个文本文件来做到这一点,然后检查该文本文件是否存在。如果存在,则说明您的启动任务的具体步骤已经在该机器上运行过,无需再次运行。这是必要的,因为有时 Azure 会重复使用云服务实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多