Hhvm HipHop for PHP,部署应用程序

Hhvm HipHop for PHP,部署应用程序,hhvm,Hhvm,在谷歌搜索之后,我发现了很多HipHop文档,但在2011年至2013年间发布了很多 今年早些时候推出了一个新版本的HipHop,它甚至支持Drupal,并包含了很多改进 我一直使用ZeNead卫士来部署我的商业应用程序,但现在我开始认真考虑HiPHOP在生产中的应用,但这里出现了一个问题: 我们可以只使用字节码HHBC运行应用程序(没有.php源代码) 参考我的研究 这个问题看起来很明显,但在项目文档中找到这个答案并不容易 提前谢谢 嗯,是和否 HHVM有一种所谓的权威模式,在这种模式下

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

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

我一直使用ZeNead卫士来部署我的商业应用程序,但现在我开始认真考虑HiPHOP在生产中的应用,但这里出现了一个问题:

  • 我们可以只使用字节码HHBC运行应用程序(没有.php源代码)
参考我的研究

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

提前谢谢

嗯,是和否

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

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

  • 为所有PHP文件预生成HHBC,并将该HHBC插入HHVM的缓存中。这就是所谓的预分析阶段(如果你在HHVM文档中看到过,这就是他们所说的)
  • 打开权威模式(在HHVM的配置中只有一行)
  • 删除你的PHP代码
这样,您的PHP应用程序就可以在没有源代码的情况下正常运行。重新启动服务器不会改变这一点,因为HHVM的字节码缓存位于磁盘上(它是作为SQLite数据库实现的)

但是,如果您:

  • 要更改代码中的某些内容。您必须复制代码,进行更改并重复预分析阶段
  • 要将HHVM升级到新版本。HHVM使用它的构建ID作为缓存密钥的一部分,因此,如果升级它,字节码缓存将变得不可访问,并且,由于您将以权威模式运行,您的应用程序将减少到一堆HTTP 404错误。要解决这个问题,您还必须重复预分析阶段
一句话:没有好的一面,大的一面。这样做毫无意义


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

在我的测试中,我尝试了
hhvm--hphp-thhbc-o/var/www/myapp--input list/var/www/myapp/files.txt
(files.txt包含我应用程序中的所有PHP)-但是当我一直访问PHP URI时,我得到了404@downvoter,请说明你的理由好吗?如果有什么不对劲,告诉我或纠正它。