如何使用composer在单个phar文件中部署Web应用程序?

时间:2014-05-14 19:40:48

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

我打算使用带有数字签名的单个phar文件来部署Web应用程序。将此与事件采购相结合将使我很容易及早发布,经常发布哲学......

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

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

1 个答案:

答案 0 :(得分:2)

回答你的一些问题:

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