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.