PHP7 Beta 1 unter Ubuntu 14.04 LTS als php-fpm Variante ausprobiert

Nachdem PHP 6 übersprungen wurde, ist  PHP 7 die neue zukünftige Produktionsversion für PHP, die auch Oktober 2015 in einer finalen Version bereitstehen soll. Da inzwischen die erste Beta Version verfügbar ist, wird es Zeit diese einmal auszuprobieren. Offizielle Pakete für Ubuntu oder Debian gibt es noch nicht, daher installieren wir PHP7 aus dem Sourcecode und zwar als php-fpm Variante um bestehende PHP Installationen auf dem Server nicht zu stören.

Update PHP 7.0.0: Finales PHP 7 unter Ubuntu 14.04 LTS als php-fpm Variante testen

Wer einen Überblick erhalten möchte welche Neuerungen PHP 7 mit sich bringt findet eine anschauliche Auflistung auf der Zend-Homepage: Coolest PHP 7 Features

1. Download

Den aktuellsten Sourcecode erhält man aus dem offiziellen Git Repository. Wir verwenden jedoch erstmal den aktuellen Beta Release vom PHP FTP-Server.

Damit haben wir den Sourcecode heruntergeladen entpackt und sind in das neue Verzeichnis gewechselt.

2. Konfigurieren des Sourcecodes

Um die wichtigsten Bibliotheken zu installieren können wir folgende Kommandos verwenden.

Danach konfigurieren wir den Sourcecode.

Mögliche Probleme beim Konfigurieren

Fehler:

configure: error: Unable to locate gmp.h

Lösung:

Symbolischen link erstellen.

3. Kompilieren

Hierfür sollte man etwas Zeit einplanen. Gab es keine Probleme beim Kompilieren installieren wir PHP 7 unter der Verwendung des Tools Checkinstall. Damit erhält man ein Debian/Ubuntu Paket dass man bei Bedarf auch wieder komplett deinstallieren kann.

Checkinstall fragt bei Erfolg nach eine Beschreibung und lässt uns Paketname und Maintainer eintragen. Als Paketname verwenden wir php7 damit wir nicht in Konflikt mit anderen PHP Versionen geraten.

Danach wird eine .deb Datei erstellt und diese auch gleich installiert. Deinstallieren kann man PHP 7 dann ganz normal über:

4. Erste Tests

Der einfachste Test ist es das Command Line Tool von PHP aufzurufen.

Gibt die Versionsnummer PHP 7.0.0beta1 aus. Mit dem nächsten Befehl erhalten wir Informationen zu den installierten Modulen und Konfigurationsparametern.

5. Verwendung als FPM Modul mit Apache und fastcgi

Wir gehen davon aus das Apache installiert ist und bereits funktioniert. Zur Sicherheit prüfen wir dennoch ob alle notwändigen Pakete vorhanden sind und aktivieren das Actions Modul:

Als nächstes aktivieren wir die Konfiguration und starten php-fpm.

Damit haben wir in der www.conf die Benutzer und Gruppen nobody/nobody durch www-data/www-data ersetzt und php-fpm gestartet. Läuft schon ein php-fpm Server sollten die Werte für den Port ebenfalls angepasst werden. Statt www-data kann natürlich auch ein anderer Benutzer mit dessen Gruppe verwendet werden.

Nun fügen wir in den VirtualHost unserer Wahl folgende Zeile ein:

Statt /var/www müssen wir den tatsächlichen Pfad zum DocumentRoot angeben. Wenn wir nun den Apache neu starten sollte der VirtualHost PHP7 verwenden.

Initscript für unseren neuen php-fpm Server

Eventuell müssen die Ordner /opt/php7/var /opt/php7/var/log und /opt/php7/var/run noch manuell erstellt werden.

6. Verwendung unter NginX

Bei einem NginX Virtualhost (server { } Direktive) sollten folgende Zeilen zu finden sein.

Falls der Port in www.pool geändert wurde muß dieser hier ebenfalls geändert werden.

Kommentar verfassen