【问题标题】:Advantages of PHAR archives in PHPPHP 中 PHAR 归档的优点
【发布时间】:2015-02-13 21:51:42
【问题描述】:

PHP 5.3 有一个名为 PHAR 的新功能,类似于 JAVA 中的 JAR。它基本上是 PHP 文件的存档。它的优点是什么?我无法理解它们如何在网络场景中发挥作用。

“易于部署”以外的任何其他用途 - 只需复制一个文件即可部署整个应用程序

【问题讨论】:

标签: php phar


【解决方案1】:

开源项目有很多好处(排名不分先后)。

  1. 更轻松的部署意味着更容易采用。想象一下:您通过将 CMS、论坛或博客系统拖到您的 FTP 客户端中来在您的网站上安装它。 就是这样。

  2. 更轻松的部署意味着更轻松的安全性。如果您只需要担心一个文件,那么更新到最新版本的软件包会简单得多。

  3. 更快的部署。如果您的虚拟主机没有为您提供 shell 访问权限,则您无需在上传前解压缩,这样可以减少每个文件的传输开销。

  4. 先天划分。作为包的一部分的文件与添加或自定义有明显区别。您知道您可以轻松替换存档,但您需要备份配置和自定义模板(它们不会全部混合在一起)。

  5. 更简单的库。您不需要弄清楚如何使用 PEAR 安装程序,或者找出这个或那个库是否具有嵌套目录结构,或者您是否必须包含 X、Y 或 Z(按此顺序?)。只需上传、包含存档、开始编码。

  6. 更易于维护。不确定更新库是否会破坏您的应用程序?只需更换它。破碎的?还原一个文件。您甚至不需要触摸您的应用程序。

  7. 所见即所得。很有可能,有人不会费心捏造一个档案,所以如果你看到一个安装在你维护的系统上,你可以相当确信它没有被某人巧妙地随机破解。哈希可以快速告诉您它是什么版本或是否已更改。

不要让部署变得更容易。它不会对本土 SaaS 产生任何影响,但对于任何运送或安装 PHP 软件包的人来说,它都会改变游戏规则。

【讨论】:

  • 所以它是一个文件真棒,它是 7 分,但你没有提到它如何影响除了部署之外的任何东西。在我看来,这对性能来说并不是最好的。对此有什么想法吗?
  • @naugtur 那是因为部署很重要。让别人试用你的网络软件(开源与否)是采用的最困难的一步。如果你告诉他们“只要把这个简单的文件放到你的服务器上!”这是关键时刻的一个很好的卖点。
【解决方案2】:

理论上它还应该提高加载速度。如果您有很多需要包含的文件,将其替换为单个包含将节省您在文件打开操作上的时间。

【讨论】:

  • 我不认为这对 Linux 有什么影响,而且我怀疑人们会使用 Windows 进行严肃的服务器端工作(在 .NET 之外),但如果这是真的,我会很高兴。
  • 我不确定我是否认真工作,但我在生产中使用 PHP 和 Windows(我没有发疯,这是客户要求)。
【解决方案3】:

根据我的经验,位于生产环境中的松散打包的 PHP 源文件邀请在需要修复时修补实时代码。在 .phar 文件中部署会阻止这种行为,并有助于加强更好的实践,即在本地环境中构建和测试,然后部署到生产环境。

【讨论】:

    【解决方案4】:

    优点主要是易于部署。您只需复制一个文件即可部署整个应用程序。

    库也可以在不扩展的情况下使用。

    【讨论】:

      【解决方案5】:

      任何适用于单个文件的工具都会“突然”同时适用于应用程序的所有文件。
      例如。传输:您可以通过单个输入/文件元素上传整个应用程序,无需额外步骤。
      例如。签署应用程序:校验和/签署文件 -> 整个应用程序的校验和/签名。
      ...

      【讨论】:

      • 你也可以用一个普通的 gzip 压缩包来做......所以唯一的好处是你不必在部署时扩展它......这在 IMO 不是很有用,尤其是.因为大多数时候您还必须在某处编写配置文件。
      猜你喜欢
      • 2012-09-10
      • 2017-01-04
      • 2017-02-02
      • 2018-06-09
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 2020-04-05
      相关资源
      最近更新 更多