
PHP7 naht mit großen Schritten. Der richtige Moment, die neuen Features einmal auszutesten. Und dabei wollte ich natürlich nicht mein normales Arbeitssystem nutzen, sondern PHP7 separat installieren. Genau dafür hat Rasmus Lerdorf eine Vagrant-Box zur Verfügung gestellt (https://github.com/rlerdorf/php7dev). Im Beitrag zeige ich, wie ich sie auf meinem Windows-8.1.-Rechner nutze.
Vorbereitung: Installation von VirtualBox und Vagrant
Zuerst bracht man VirtualBox: https://www.virtualbox.org/wiki/Downloads
Die Installation erfordert einen Neustart des Rechners und am besten ist es, danach zu überprüfen, ob die Installation geklappt hat.
Im nächsten Schritt ist Vagrant dran, d.h. herunterladen (https://www.vagrantup.com/downloads.html) und installieren, ein Rechnerneustart ist ebenfalls erforderlich. vagrant
wird damit zum Systempfad hinzugefügt, so dass du den Befehl vagrant
von überall aus eingeben kann.
Vagrantbox für PHP 7 laden
Die weiteren Schritte gehen über die Eingabeaufforderung.
Zuerst wechselst du in den Ordner, wo du die Installation durchführen möchtest. Dann lädst du dir das Abbild herunter:
vagrant box add rasmus/php7dev
Dass das klappt, liegt daran, dass die angegeben Vagrant-Box in HashiCorps Atlas Box-Katalog aufgeführt ist.
Der nächste Befehl
vagrant init rasmus/php7dev
… erzeugt eine Konfigurationsdatei, die Vagrantfile heißt, und legt dort auch die verwendete virtuelle Box fest.
vagrant up
legt die gewünschte Maschine an und startet sie (standardmäßig ohne grafische Ausgabe). Der folgende Befehl stellt eine Verbindung per ssh her:
vagrant ssh
Bei Windows erscheint allerdings die Meldung, dass ssh nicht installiert ist. Stattdessen kannst du putty nehmen und dort die Daten eintragen, die vagrant ssh
ausgespuckt hat (Host und Port). Falls benötigt: das Passwort heißt immer vagrant
. So könnte man sich beispielsweise auf der Gastmaschine einloggen und über makephp 7
das PHP-Build updaten.
Basiskonfiguration
Dann wollte ich noch zweierlei: einen bequemen Zugriff per Browser und einen Ordner für meine PHP-Dateien, an den ich gut rankomme. Für Konfigurationen ist das Vagrantfile gedacht, das sich im Hauptordner befindet. Dort habe ich zwei Zeilen ergänzt:
config.vm.network "private_network", ip: "192.168.50.4"
config.vm.synced_folder "php7dev/", "/var/www/default/php7dev/"
Die erste Zeile definierte eine IP-Adresse für die virtuelle Maschine (hier ist eine beliebige private IP-Adresse möglich) .
Die zweite Zeile mappt das Verzeichnis php7dev
in meinem aktuellen Verzeichnis auf der Wirtsmaschine auf das angegebenen Verzeichnis der Gastmaschine. /var/www/default/
ist auf der Gastmaschine für die Webdateien gedacht; statt php7dev
hätte ich auch etwas anderes verwenden können.
Diese beiden Zeilen müssen innerhalb von
Vagrant.configure(2) do |config|
und
end
stehen.
Damit die im Vagrantfile angegebene Änderungen angenommen werden, gibst du in der Eingabeaufforderung ein:
vagrant reload
Testen
Die Eingabe von 192.186.50.4 im Browser zeigt die Ausgabe von phpinfo()
mit PHP 7.

Dort steht beispielsweise weiter unten auch, wie das verwendete Webverzeichnis heißt:
$_SERVER['DOCUMENT_ROOT'] /var/www/default
Innerhalb meines Projektverzeichnisses habe ich den Unterordner php7dev
angelegt und ein PHP-Dokument als beispiel.php
abgespeichert. Dieses erhalte ich dann über http://192.186.50.4/php7dev/beispiel.php
Die virtuelle Maschine kann man mit vagrant suspend
in den Ruhezustand versetzen und nachher wieder mit vagrant up
starten. vagrant halt
schaltet die Maschine aus und vagrant destroy
zerstört sie.
Hast du noch weitere Tipps für die Installation/Nutzung der PHP7-Vagrant-Box unter Windows?