【问题标题】:How to deploy a webapplication in a single phar file with composer?如何使用 Composer 在单个 Phar 文件中部署 Web 应用程序?
【发布时间】:2014-05-14 19:40:48
【问题描述】:

我打算使用带有数字签名的单个 phar 文件来部署 Web 应用程序。将此与事件溯源相结合将使我很容易遵循早期发布,经常发布的理念......

我使用 composer 作为包管理器。我不确定的:

  • 如何将供应商与我的应用程序打包到一个 phar 中?
    我不确定 composer 如何安装供应商,但我认为它也可以将它们安装为 phar 文件。我几乎没有发现将 phar-s 装入其他 phars 的情况。
  • composer 的自动加载器是否准备好执行此操作,或者我必须进行一些修改?
  • 我必须在服务器上安装作曲家吗? (我没有 CLI,我也无权这样做。对我不利,是的。)
  • 如何自动过滤掉我的应用程序及其依赖项的测试和文档。 (我想要一个小的发布包。)

【问题讨论】:

    标签: php deployment composer-php web-deployment phar


    【解决方案1】:

    回答您的一些问题:

    1. Composer 不会将 .phar 文件安装为依赖项。事实上,那些以 .phar 文件(即 PHPUnit)形式出现的常见包确实提供了 .phar 作为使用 Composer 的替代方案,这是互斥的。因此,您只需运行 composer install,获取您自己的文件和供应商文件的目录树,然后可以将这些全部添加到您即将创建的 .phar 文件中。
    2. Composer 自动加载器确实使用__DIR__ 来知道它在哪里,以及其他文件与该常量的相对位置。这应该与 .phar 文件兼容。
    3. 您必须在要创建 .phar 文件的计算机上安装 Composer。
    4. 过滤不需要的文件是创建 .phar 文件的构建脚本的任务。这不是 Composer 的任务。

    请注意,已经有一些库可以帮助您创建 .phar 文件。例如,看看kherge/box

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 2019-10-26
    相关资源
    最近更新 更多