2 votes

Comment créer un cache de fichiers statique dans HHVM

Nous faisons fonctionner un site Web en mode Repo Authoritative sur HHVM.

Je peux compiler les fichiers de code correctement avec la hhvm --hphp -thhbc. Cependant, il semble qu'il y ait également une fonctionnalité pour créer un cache de fichiers statiques avec -tfilecache, qu'il utilisera pour servir les fichiers statiques, et je n'arrive pas à le faire fonctionner. Il y a très peu de documentation sur cette fonctionnalité et je n'ai rien trouvé sur Google.

Je génère une liste de fichiers comme ceci:

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

et j'essaie de générer le cache de cette manière:

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

(-l3 ajouté pour un journal détaillé)

et le résultat est toujours le suivant:

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

avec rien dans ce fichier de trace de pile.

J'ai essayé avec un ou deux fichiers dans la liste, même résultat. Rencontré sur HHVM 1.14.2 et 1.14.4, sur RHEL 7.2.

S'agit-il d'un bug ou est-ce que je fais quelque chose de mal?

0voto

limos Points 306

J'ai ouvert un bug et ils ont répondu très rapidement avec

Vous voulez probablement créer le dépôt et le filecache en même temps. Vous pouvez passer --file-cache /où/créer/cache à la commande que vous utilisez pour construire le dépôt hhbc.

ce qui a fonctionné à merveille, je ne savais pas qu'on pouvait faire les deux ensemble.

Ils ont laissé le bug ouvert, donc il semble que ça devrait fonctionner de manière autonome aussi. Mais cette méthode me suffit (en fait, elle est meilleure)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X