PHP 7 manuell kompilieren und installieren

Update vom 18. Januar 2016:
Update für PHP 7.0.2
Update vom 3. Dezember 2015:
Aktualisiert für finale PHP 7.0.0 Version
Update vom 30. November 2015:
Aktualisierung für PHP 7 RC 8
Update vom 12. November 2015:
Aktualisierung für PHP 7 RC 7

Installation von PHP 7 auf Debian Jessie

Seit heute (3. Dezember 2015) steht PHP offiziell in der Finalen Version 7.0.0 zur Verfügung.. Was alles neu in PHP 7 ist, wird in diesem Blogeintrag sehr schön erklärt.

Im nachfolgenden Blogeintrag erkläre ich Schritt für Schritt wie ihr PHP 7 neben PHP 5.6 (aktuelle Version) installieren könnt.

1. Vorbereitung

Zunächst prüfen wir unsere installierten Pakete auf Aktualität und installieren eventuell verfügbare Aktualisierungen, sowie libbison.
Dazu tippen wir folgende Befehle ein:

Anschließend wechseln erstellen wir einen Ordner „install“ im Heimatverzeichnisses des aktuellen Nutzers und wechseln in diesen:

Nun laden wir den Sourcecode des aktuellen PHP 7-Releases von dieser Seite herunter und entpacken das Archiv:

Anschließend wechseln wir in das eben erstellte Verzeichnis:

2. Konfiguration von PHP 7

Je nach Anforderung, benötigen wir verschiedene Abhängigkeiten und Bibliotheken für unsere PHP 7-Installation. Welche ihr benötigt, müsst ihr selbst herausfinden.
Um zu schauen welche Pakete mit der aktuell installierten PHP-Version verfügbar sind, könnt ihr folgenden Befehl eintippen:

Anschließend erhaltet ihr eine Auflistung aller verfügbaren Pakete.

Um unsere PHP 7-Installation zu konfigurieren, tippen wir den üblichen ./configure-Befehl mit entsprechenden Parametern ein:

Kompilierungsfehler
Nachfolgend eine kleine Übersicht der möglichen Kompilierungsfehler mit dessen Lösung.

Please reinstall the BZip2 distribution

error: jpeglib.h not found

error: freetype-config not found.

utf8_mime2text() has new signature, but U8T_CANONICAL is missing […]

Cannot find imap library (libc-client.a)

mcrypt.h not found. Please reinstall libmcrypt.

3. Erzeugen und Installieren der Binaries

Nach der Konfiguration von PHP 7 erzeugen wir mit nachfolgendem Befehl die Binaries:

… testen die Integrität der Dateien mittels

… und installieren die Binaries in den – in der Konfiguration angegebene Pfad:

4. PHP 7 nutzen

Anschließend müsst ihr die Konfiguration des verwendeten Webservers so ändern, das statt der alten PHP-Version die installierte PHP 7-Version genutzt wird. Dafür müsst ihr die entsprechenden Pfade in den Konfigurationsdateien auf /opt/php7/bin/php bzw. /opt/php7/bin/php-cgi für die CGI-Variante.

Anschließend sollte PHP 7 in den Headers der Website auftauchen (sofern expose_php nicht deaktiviert):

PHP7 im Serverheader

Bei Fragen und/oder Problemen nutzt einfach die Kommentarfunktion 🙂

  • Ansas Meyer

    Hi David,

    ein sehr schöner Beitrag. Ich bin einen etwas anderen Weg gegangen und habe eine weitere Paketquelle (Dotdeb) genommen. Auch ich habe dazu einen kleinen Beitrag geschrieben. Vielleicht ist das als Alternative für Deine User ja auch interessant:

    https://ansas-meyer.de/programmierung/php/php-7-unter-debian-jessie-installieren/

    VG und einen guten Rutsch,
    Ansas

    • Hey,
      als ich die Anleitung verfasst habe, gab es PHP7 nur als RC und als die finale Version am 3. Dez. veröffentlicht wurde hatte dotdeb noch keine Repos für PHP7, deswegen das manuelle kompilieren.

      PHP7 über dotdeb ist aber natürlich einfacher für die meisten 😉