Neu: PHP-Fallback für HHVM

Neu: PHP-Fallback für HHVM

HHVM (HipHop Virtual Machine) ist die schnelle, von Facebook entwickelte PHP-Alternative, die einen enormen Geschwindigkeitsvorteil gegenüber PHP verspricht. Nicht jede Website funktioniert mit HHVM einwandfrei, sei es aufgrund der Nutzung von in HHVM nicht implementierten PHP-Funktionen, nicht verfügbaren PHP-Modulen, etc. Damit Sie trotzdem beruhigt auf HHVM zurückgreifen können, haben wir nun einen PHP-Fallback-Modus implementiert, der es erlaubt, HHVM auf einer größeren Anzahl an Websites im Produktivbetrieb einzusetzen, als es bisher der Fall war.

 

Wie funktioniert der PHP-Fallback für HHVM?

Wenn HHVM eine Anfrage nicht verarbeiten kann und einen der Statuscodes 500, 501, 502 oder 503 zurückgibt, wird die Anfrage an den PHP-Fallback-Prozeß weitergereicht, der sie dann ganz normal abarbeitet.

 

Wie kann ich den PHP-Fallback einstellen?

In den Website-Einstellungen in ISPConfig wählen Sie im Feld "PHP" den Wert "HHVM" aus. Daraufhin erscheint darunter das Feld "PHP-Fallback", in dem Sie die gewünschte PHP-Version als Fallback einstellen können:

PHP-Fallback für HHVM

 

Wie kann ich testen, ob es funktioniert?

Legen Sie in der Website, für die Sie HHVM aktiviert haben, eine Datei namens info.php mit folgendem Inhalt an:

<?php
phpinfo();
?>

Wenn Sie die Datei im Browser aufrufen, sollte das Wort "HipHop" im Browser erscheinen, da die Anfrage von HHVM abgearbeitet worden ist. So weit, so gut. Nun ändern wir die Datei wie folgt ab, so daß HHVM einen Fehler erzeugen und die Anfrage an das Fallback-PHP weiterreichen sollte:

<?php
if (defined('HHVM_VERSION')) {
throw new Exception();
}
phpinfo();
?>

Wenn Sie die Datei nun nochmal aufrufen, sollte der normale phpinfo()-Output von PHP erscheinen, da die Anfrage vom Fallback-PHP bearbeitet worden ist:

phpinfo-Output

Trotz des PHP-Fallbacks sollten Sie Ihre Website natürlich nach wie vor gut testen, wenn Sie auf HHVM umstellen, denn auch mit Fallback sind Probleme nie zu 100% auszuschließen.

Nach oben