Wer WordPress als Blog betreibt, braucht zwingend PHP als Untergrund. Je nach Alter und Version der Software wird mittlerweile angezeigt, dass die genutzte Version ein Update bekommen sollte. Da ich das gerade mehreren Systemen machen muss, hier eine kleine Anleitung vom Update.
Als Webserver kommt Apache zum Einsatz, wer hier auf nginx setzt muss entsprechend dort die Module aktivieren / deaktivieren.
Aktuelle Version prüfen
Um die aktuelle PHP-Version zu prüfen, kann man auf dem Server den Befehl
php -v
absetzen. Dies zeigt in meinem Fall z.B. den folgenden Output:
Somit ist sichtbar, dass aktuell Version 7.0 eingesetzt wird.
Die genutzten Module
Nun können wir prüfen, welche Module im Einsatz sind. Dies ist notwendig, da wir später diese (in einer neueren Version) wieder installieren.
dpkg --get-selections | grep -v deinstall | grep php7.0
Dies zeigt mir in meinem Fall die folgende Liste:
Diese Liste markieren und kopieren wir uns für später.
Backup der aktuellen Daten
Wenn wir die aktuellen Daten sichern möchten, müssen wir kurz schauen wo diese liegen:
php --ini
Bei mir sieht der Output wie folgt aus
Kopieren können die Daten mit dem folgenden Befehl
cp -a /etc/php/7.0/ /etc/php/7.0.backup
Neue Paketquellen hinzufügen
Nun müssen wir für neuere PHP-Versionen eine neue Quelle hinzufügen. Dies geht am einfachsten mit dem Befehl (ja, wirklich so 🙂 )
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
Nach der Installation müssen wir die Paketquellen aktualisieren
apt update
Installation der neuen Version
Nach diesen Vorbereitungen können wir nun die neue Version installieren. Wir brauchen hier nicht nur die reine PHP-Version 7.4, sondern auch noch alle weiteren Module und Erweiterungen, die wir uns im Vorfeld ausgegeben und gespeichert haben. In meinem Fall sieht der Befehl wie folgt aus:
apt install php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xmlrpc
Wichtig: Das mcrypt-Modul ist nicht mehr dabei, weil es nicht mehr existiert in der Version 7.4!
Eine kurze Überprüfung der Version mit
php -v
zeigt die aktuelle Version.
Aktivierung der neuen Version
Hat die Installation geklappt, kann nun die alte Version im Apache deaktiviert werden (oder halt im nginx, je nach Nutzung) und die neue aktiviert werden.
a2dismod php7.0
a2enmod php7.4
service apache2 restart
Danach noch prüfen, ob die Webseiten wieder sauber laufen und es zu keinen Problemen kommt. Das war es dann auch schon, die alten Versionen können dann entfernt werden wenn man möchte.