PHAR归档在PHP中的优势

PHAR归档在PHP中的优势,php,phar,Php,Phar,PHP5.3有一个名为PHAR的新特性,类似于JAVA中的JAR。它基本上是PHP文件的存档。它的优点是什么?我不明白他们如何在网络场景中发挥作用 除“易于部署”之外的任何其他用途—只需复制一个文件即可部署整个应用程序其优点主要是易于部署。只需复制一个文件即可部署整个应用程序 库也可以在不展开的情况下使用。任何“突然”处理单个文件的工具都可以同时处理应用程序的所有文件。 例如,传输:您可以通过单个输入/文件元素上传整个应用程序,无需额外步骤。 例如,对应用程序进行签名:对文件进行校验和/签名->

PHP5.3有一个名为PHAR的新特性,类似于JAVA中的JAR。它基本上是PHP文件的存档。它的优点是什么?我不明白他们如何在网络场景中发挥作用


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

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


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

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

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

  • 更容易的部署意味着更容易采用。想象一下:通过将CMS、论坛或博客系统拖到FTP客户端,您可以在网站上安装CMS、论坛或博客系统。就这样

  • 更容易的部署意味着更容易的安全性。如果您只需要担心一个文件,那么更新到软件包的最新版本就不会那么复杂了

  • 更快的部署。如果您的webhost不允许您访问shell,那么您不需要在上传之前解压缩,这样可以减少每次文件传输的开销

  • 先天性区隔化。作为软件包一部分的文件与添加或自定义文件有明显区别。你知道你可以很容易地替换存档,但是你需要备份你的配置和自定义模板(它们不是混合在一起的)

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

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

  • 你看到的就是你得到的。很有可能,有人不会费心伪造档案,所以如果你看到你维护的系统上安装了一个档案,你可以相当有信心,它不会有人的微妙错误随机入侵。散列可以很快告诉你它是什么版本,或者它是否被修改过


  • 不要小便,这样更容易部署东西。这对自主开发的SaaS没有任何影响,但对于任何装运或安装PHP软件包的人来说,它是一个游戏规则改变者。

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

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

    你也可以用一个普通的油布球。。。因此,唯一的优势是,您不必在部署时扩展它。。。这在我看来不是很有用,尤其是因为大多数时候你还必须在某个地方编写配置文件。因此,作为一个单一的文件,它有7点很棒,但你没有提到它如何影响除部署以外的任何东西。在我看来,这不是最好的表现。有什么想法吗?@naugtur那是因为部署是件大事。让别人试用你的网络软件(开源或非开源)是最难采用的一步。如果你告诉他们“把这一个简单的文件放到你的服务器上!”这是关键时刻的一个很好的卖点。我不认为这对Linux有什么影响,我怀疑人们使用Windows进行严肃的服务器端工作(在.NET之外),但如果这是真的,我会很高兴。我不确定我是否做过严肃的工作,但我在生产中使用PHP和Windows(我不是疯了,这是客户的要求)。