如何在HHVM中创建静态文件缓存

时间:2016-08-31 09:59:34

标签: hhvm

我们在HHVM上运行Repo权威模式的网站。

我可以使用hhvm --hphp -thhbc编译代码文件。 但是,似乎还有一个功能是使用-tfilecache创建静态文件缓存,它将用于提供静态文件,我无法使其工作。关于此功能的文档很少,我在Google上找不到任何内容。

我正在生成这样的文件列表:

find . -type f -not \( -name '*.php' -or -name '*.phtml' \) >/tmp/staticfiles

并尝试生成如下缓存:

hhvm --hphp -t filecache -v AllVolatile=true --input-list /tmp/staticfiles -l3

( - 为详细记录添加了l3)

,结果总是:

running hphp...
creating temporary directory /tmp/hphp_H98a3V ...
parsing inputs...
parsing inputs took 0'00" (145 us) wall time

Assertion failure: /tmp/tmp.jRkkBo6M6b/hphp/compiler/analysis/analysis_result.cpp:79: virtual HPHP::AnalysisResult::~AnalysisResult(): assertion `!m_finish' failed.


Core dumped: Aborted
Stack trace in /tmp/stacktrace.1767.log
hphp failed
running hphp took 0'01" (1257721 us) wall time

在该堆栈跟踪文件中没有任何内容。

我在列表中只尝试过一个或两个文件,结果相同。在RHEL 7.2上有HHVM 1.14.2和1.14.4经验。

这是一个错误还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

我打开了一个bug,他们用

快速回来了
  

您可能希望同时创建repo和filecache。您可以将--file-cache / where / to / create / cache传递给用于构建hhbc repo的命令。

这就像一个魅力,我不知道你可以一起做这两个。

他们确实让这个bug开放了,所以看起来它应该是独立工作的。但这种方法对我来说足够好(实际上更好)