Seit einiger Zeit wollte ich Ihnen etwas über die Hip Hop Virtual Machine erzählen, die am besten für ihre Abkürzung HHVM bekannt ist . Es ist keine Musikgruppe, sondern eine virtuelle Maschine, die von Facebook für den Eigengebrauch entwickelt wurde. Sie haben den Code jedoch veröffentlicht, damit wir ihn alle verwenden können.
HHVM unterstützt PHP und Hack , wobei letzteres eine neue Programmiersprache ist, die auf PHP basiert und uns neue Funktionen wie die Verwendung von Sammlungen (Alternativen zu PHP-Arrays), statische Typisierung, die Verwendung von Lambda-Ausdrücken usw. bietet. … Da es nicht das Ziel des Artikels ist, ausführlich über die Hack-Sprache zu sprechen, können Sie die offizielle Seite mit allen Informationen (auf Englisch) besuchen.
Das Hauptmerkmal von HHVM ist, dass es über einen JIT-Compiler (Just-in-Time) verfügt. Einfach ausgedrückt, kompiliert HHVM PHP (oder Hack-Sprache) in Bytecode und übersetzt diesen Bytecode mithilfe des JIT-Compilers in die Maschinensprache. Mit dem beschriebenen Kompilierungsprozess können verschiedene Optimierungen durchgeführt und damit die Performance unserer PHP-Anwendungen gesteigert werden. Wenn Sie mehr über HHVM erfahren möchten, besuchen Sie am besten die offizielle Website und die GitHub- Seite.
Bevor ich fortfahre, sollte ich auch klarstellen, dass die Konfiguration, die ich in diesem Tutorial zur Installation von HHVM in Ubuntu zeige, nicht für Server in der Produktion vorgesehen ist .
HHVM-Installationsanleitung für Ubuntu 14.04 x64 mit Apache
Als Erstes müssen Sie die Arbeitsumgebung beschreiben, an der wir arbeiten, damit Sie sie replizieren können. Die Tests wurden auf einem DigitalOcean VPS mit 512 MB RAM und dem Betriebssystem Ubuntu 14.04 x64 durchgeführt. Ich muss klarstellen, dass HHVM nur auf x64-Betriebssystemen funktioniert . Verwenden Sie daher kein 32-Bit-Betriebssystem, da dies nicht funktioniert.
Die Version von Apache, die zum Zeitpunkt des Schreibens des Tutorials installiert war, ist Apache 2.4.7. Wir haben apt-get standardmäßig installiert (später beschreibe ich, wie es gemacht wird) .
Installieren der virtuellen Hip Hop-Maschine von Grund auf.
Wenn wir zum Beispiel mit PuTTY über SSH auf unseren Server zugreifen, müssen wir die in der offiziellen Dokumentation beschriebenen Befehle ausführen, die für Ubuntu 14.04 wie folgt lauten:
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get install hhvm
Zu diesem Zeitpunkt ist HHVM bereits installiert und wir müssen Apache installieren. Dazu führen wir den folgenden Befehl aus:
sudo apt-get install apache2
Wenn der Installationsprozess abgeschlossen ist, müssen wir Apache und HHVM so konfigurieren, dass sie zusammenarbeiten. Um dies zu erreichen, führen wir die folgenden Befehle aus:
sudo /usr/share/hhvm/install_fastcgi.sh sudo /etc/init.d/hhvm restart sudo service apache2 restart
An dieser Stelle werden wir zwei Tests durchführen, um sicherzustellen, dass alles gut gelaufen ist. Zuerst führen wir den Befehl php -v
und etwas Ähnliches wie:
Compiler: tags/HHVM-3.4.0-0-g817b3a07fc4e509ce15635dbc87778e5b3496663 Repo schema: 0e12aaa31fae66b5591f65603de50c9d62caafac Extension API: 20140829
Die zweite besteht darin, auf unseren Apache-Server zuzugreifen, um zu überprüfen, ob er funktioniert. Dazu müssen wir die IP wie folgt in unseren Browser http://ip_servidor
: http://ip_servidor
, zum Beispiel http://128.179.37.10
Während der vorherigen HHVM-Konfiguration wird eine Datei erstellt, die einen 404-Fehler verursacht, wenn wir versuchen, auf PHP-Dateien zuzugreifen. Die Lösung besteht darin, diese Konfigurationsdatei mit dem folgenden Befehl zu löschen:
sudo rm -rf /etc/apache2/mods-enabled/hhvm_proxy_fcgi.conf
Jetzt bearbeiten wir die Apache-Konfigurationsdatei mit dem Befehl:
nano /etc/apache2/apache2.conf
Wir gehen zum Abschnitt zur Verzeichniskonfiguration und geben die Zeile ein:
ProxyPassMatch ^/(.*.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
Es muss wie auf dem Bild zu sehen sein (für fortgeschrittenere Konfigurationen konsultieren Sie die offizielle Dokumentation ).
Starten Sie Apache neu und damit werden alle Dateien mit der PHP-Erweiterung durch HHVM geleitet.
sudo service apache2 restart
Um zu beweisen, dass es wirklich funktioniert, erstellen wir eine Test-PHP-Datei und greifen dann darauf zu:
cd /var/www/html nano test.php
Wir fügen die Zeile hinzu:
<?php phpinfo(); ?>
Wir greifen über den Browser auf die PHP-Datei zu:
Ich hoffe, das Tutorial war hilfreich und wenn Sie Fragen haben, zögern Sie nicht, die Kommentare zu verwenden.