14

PHP 5.3 有一个名为PHAR的新特性,类似于JAVA 中的JAR。它基本上是 PHP 文件的存档。它的优点是什么?我无法理解它们如何在 Web 场景中有所帮助。

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

4

5 回答 5

22

开源项目有巨大的好处(没有特别的顺序)。

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

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

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

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

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

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

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

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

于 2010-08-25T10:32:29.223 回答
6

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

于 2012-05-14T20:05:59.960 回答
5

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

于 2015-02-13T13:51:42.823 回答
2

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

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

于 2010-08-19T12:01:19.790 回答
2

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

于 2010-08-19T12:05:53.867 回答