gpt4 book ai didi

hhvm - 用于 PHP 的 HipHop,部署应用程序

转载 作者:行者123 更新时间:2023-12-04 20:43:37 24 4
gpt4 key购买 nike

谷歌搜索后,我发现了很多 HipHop 文档,但在 2011 年至 2013 年之间发布了大量文档。

今年早些时候推出了一个新版本的 HipHop,它甚至支持 Drupal 并包括很多改进......

我一直使用 Zend Guard 来部署我的商业应用程序,但现在我开始认真考虑在生产中使用 HipHop,但问题来了:

  • 我们可以仅使用字节码 HHBC(没有 .php 源代码)运行应用程序吗?

  • 遵循我的研究引用
    https://github.com/facebook/hhvm/wiki/FAQ

    这个问题可能看起来很明显,但在项目文档中找到这个答案并不那么容易。

    提前致谢!

    最佳答案

    嗯,是和不是。

    HHVM 有一种所谓的 RepoAuthoritative 模式,在这种模式下,HHVM 将不再检查 PHP 文件是否存在或它们是最新的;相反,它将直接从其缓存中检索 HHBC。

    理论上,您可以按照以下步骤操作:

  • 为所有 PHP 文件预先生成 HHBC 并将该 HHBC 插入 HHVM 的缓存中。这就是所谓的预分析阶段(如果你在 HHVM 文档中看到过,这就是他们的意思)
  • 打开 RepoAuthoritative 模式(它只是 HHVM 配置中的 1 行)
  • 删除您的 PHP 代码

  • 这样,您的 PHP 应用程序将在没有源代码的情况下运行得很好。重新启动服务器不会改变这一点,因为 HHVM 的字节码缓存存在于磁盘上(它是作为 SQLite 数据库实现的)。

    但是,如果您:
  • 想要更改代码中的某些内容。您必须复制代码、进行更改并重复预分析阶段。
  • 想要将 HHVM 升级到更新的版本。 HHVM 使用其构建 ID 作为缓存键的一部分,因此,如果升级它,字节码缓存将无法访问,并且由于您将在 RepoAuthoritative 模式下运行,您的应用程序将减少为一堆 HTTP 404 错误。要解决此问题,您还必须重复预分析阶段。

  • 底线:没有好处,大坏处。这样做没有任何意义。

    PS:我希望我回答了你的问题。也有可能我误解了你的要求;如果是这种情况,请在评论中告诉我。

    关于hhvm - 用于 PHP 的 HipHop,部署应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21551121/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com