Ich habe versucht, einen Apache 2.4 auf Debian Wheezy einzurichten, um Anrufe zu tätigen anHack/HHVMmit mod_proxy / mod_proxy_fcgi gemäßDasArtikel.
Die Installation von HHVM erfolgte über den APT-Paketmanager. Wenn ich eine einzelne .hack-Datei mit
hhvm test.hack
mit test.hack-Inhalten
<?hh echo "test";
die Ausgabe ist wie erwartet.
Nun starte ich den HHVM Fastcgi-Server mit
hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9001
und füge dies in die Apache-Konfigurationsdatei meines Test-vHosts ein:
ProxyPassMatch ^/(.*.hack(/.*)?)$ fcgi://127.0.0.1:9001/home/web/test/$1
Nach dem Neustart von Apache habe ich überprüft, ob es funktioniert, indem ich eine .hack-Datei angefordert habe, die nicht existiert. Ich erhalte eine 404 Not Found
vom HHVM-FastCGI-Server, die anders aussieht als die standardmäßige Apache-404-Seite.
Wenn ich meine test.hack
-Datei anfordere, dann beginnt Apache 'ewig zu laden'. Wenn ich das Fastcgi im Hintergrund kille, bricht es den Ladevorgang sofort ab und bietet mir die test.hack
Datei mit dem von mir eingegebenen Inhalt zum Download an ( <?hh echot "test";
).
Ich verwende PHP5-FPM mit genau derselben ProxyPassMatch
Zeile, natürlich mit Ausnahme der MIME-Dateierweiterung und des Ports. Und dort funktioniert es perfekt.
Der error.log
enthält nichts besonderes.
Antwort1
Nach der Installation von HHVM 3.0, das heute veröffentlicht wurde, wurde dieses Problem behoben. Funktioniert ohne Änderung meiner Konfiguration, daher muss dieser Fehler durch HHVM 2.x verursacht werden.