PHP7 unter Windows testen

PHP7

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.

phhp7info

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?

Kommentare? Gerne :-)

HTML: Folgender HTML-Code kann verwendet werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>