Eine Umstellung von PHP 5 auf PHP 7 ist einfacher als man denken mag. Eine Anpassung an den Codes ist kaum notwendig, im meisten Falle nur, wenn noch mysql_connect verwendet wird. Sollte deine Website mit PHP 7 nicht laufen, kannst du ganz einfach wieder zu PHP 5 wechseln.
Die Vorbereitung
Als erstes wird PHP 7 installiert, PHP 5 bleibt vorerst installiert. Dazu wird eine Repository hinzugefügt, aus der PHP 7 installiert wird, und ein Repository Key hinzugefügt. Anschließend werden die Updates installiert.
echo 'deb http://packages.dotdeb.org jessie all' > /etc/apt/sources.list.d/dotdeb.list
curl http://www.dotdeb.org/dotdeb.gpg | apt-key add -
apt-get update
Installation von PHP 7
Als nächsten werden die PHP 7-Pakete installiert. Schaue vorher mit dem Befehl dpkg --get-selections | grep PHP 5 nach, welche PHP 5-Pakete du installiert hast, dann installierst du die gleichnamigen, sofern es diese in PHP 7 gibt. In meinem Falle waren das diese.
apt-get install PHP 7.0 libapache2-mod-PHP 7.0 PHP 7.0-curl PHP 7.0-zip PHP 7.0-mysql
Solltest du in der PHP 5-Config Änderungen vorgenommen haben, solltest du diese nun in der neuen anpassen, bevor PHP 7 aktiviert wird. Die neue Config findest du unter /etc/php/7.0/apache2/php.ini.
Jetzt wird PHP 7 aktiviert. Mit den folgenden Befehl führst du die Deaktivierung von PHP 5 aus, aktivierst PHP 7 und startest Apache neu.
a2dismod PHP 5
a2enmod PHP 7.0
service apache2 restart
PHP 7 ist nun installiert und aktiv. Davon kannst du dich auch selbst überzeugen, indem du eine .php mit phpinfo() anlegst. Hier solltest du nun beim Unterpunkt Core PHP Version 7 stehen haben.
<?php phpinfo(); ?>
Solltest du jetzt nur eine weiße Seite auf deiner Website sehen, verwendest du noch alte PHP-Funktionen oder hast nicht alle benötigten Pakete installiert. Beispielsweise, wie am Anfang schon angesprochen, verwendest du womöglich noch mysql_connect(). Am besten schaust du in diesem Falle im Error-Log unter /var/log/apache2/ nach, wo genau der Fehler liegt.
Mit PHP 7 wird die php.ini öfters bei apt-get update überschrieben und deine Änderungen zurückgesetzt, sodass du dir notieren solltest, wo du Änderungen in der Config machst. Sofern du überhaupt etwas in der Config änderst.
PHP 5 deinstallieren
PHP 5 kannst du nun auch noch deinstallieren, musst du aber nicht. Du kannst auch ganz einfach wieder zu PHP 5 wechseln, indem du folgende Befehle verwendest. Beispielsweise, wenn PHP 7 nicht wie erwartet funktioniert.
2dismod PHP 7.0a2enmod PHP 5service apache2 restart
Zum Deinstallieren verwendest du einfach folgende Befehle. Damit werden PHP 5 und alle dazugehörigen Pakete deinstalliert.
uninstall="$(dpkg --list | grep php | awk '/^ii/{ print $2}')"sudo apt-get --purge remove $uninstall
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Über mich
Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.