Após a instalação do HHVM 3.0, que foi lançado hoje, este problema foi corrigido. Funciona sem alterar minha configuração, portanto, essa falha deve ser causada pelo HHVM 2.x.
Eu tentei configurar um Apache 2.4 no Debian Wheezy para fazer chamadas para Hack / HHVM usando mod_proxy / mod_proxy_fcgi de acordo com este artigo .
A instalação do HHVM foi feita através do gerenciador de pacotes APT. Quando eu executo um único arquivo .hack usando
hhvm test.hack
com conteúdo test.hack
<?hh echo "test";
a saída é conforme o esperado.
Agora eu inicio o servidor fastcgi do HHVM usando
hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9001
e colocando isso no meu teste vHost no arquivo de configuração do Apache:
ProxyPassMatch ^/(.*.hack(/.*)?)$ fcgi://127.0.0.1:9001/home/web/test/$1
Depois de reiniciar o Apache, verifiquei que ele funciona solicitando um arquivo .hack que não existe. Eu recebo um 404 Not Found
do servidor fastcgi do HHVM, ele parece diferente da página padrão do Apache 404.
Quando eu solicito meu test.hack
-file, o Apache inicia o 'carregamento para sempre'. Se eu matar o fastcgi no fundo, ele para imediatamente de carregar e me oferece o test.hack
como um download com o conteúdo que eu inseri ( <?hh echot "test";
).
Estou usando o PHP5-FPM com exatamente a mesma linha ProxyPassMatch
, exceto a extensão de arquivo mime e a porta, é claro. E isso funciona perfeitamente lá.
O error.log
não contém nada especial.