首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HipHop for PHP,部署应用程序

HipHop for PHP,部署应用程序
EN

Stack Overflow用户
提问于 2014-02-04 11:24:47
回答 1查看 1.1K关注 0票数 5

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

今年早些时候发布了一个新版本的HipHop,它甚至支持Drupal,并包含了许多改进.

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

  • 我们只能使用字节码HHBC (没有.php源代码)运行应用程序?

参考我的研究https://github.com/facebook/hhvm/wiki/FAQ

这个问题似乎很明显,但在项目文档中找到这个答案并不容易。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-15 20:53:39

好吧,是和不是。

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

理论上,您可以遵循以下步骤:

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

这样,PHP应用程序就可以很好地运行,而不会出现源代码。重新启动服务器不会改变这一点,因为HHVM的字节码缓存驻留在磁盘上(它是作为SQLite数据库实现的)。

但是,如果你:

  • 想要更改代码中的某些内容。您将不得不复制您的代码,进行更改并重复预分析阶段。
  • 希望将HHVM升级到新版本。HHVM使用其构建ID作为缓存键的一部分,因此,如果升级它,字节码缓存将变得不可访问,而且由于您将以RepoAuthoritative模式运行,您的应用程序将减少到一堆HTTP404错误。要解决这个问题,还必须重复预分析阶段。

底线:没有好处,有很大的负面影响。这样做是没有意义的。

我希望我回答了你的问题。我也有可能误解了你的要求,如果是这样的话,请在评论中告诉我。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21551121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档