PHP Update auf dem Raspberry Pi

      Keine Kommentare zu PHP Update auf dem Raspberry Pi

Hin und wieder ist es nötig die PHP Version auf den aktuellsten Stand zu bringen, damit die Nextcloud weiterhin fröhlich ihre Dienste verrichten kann. Damit wir aktuelle PHP Versionen installieren können, haben wir im Zuge der Tutorial Serie die PHP Paketquellen des Entwicklers eingehängt. Nur kann es hier passieren, dass das dazugehörige Zertifikat der Paketquellen irgendwann erneuert werden muss. Wenn daher beim apt update Befehl Fehlermeldungen mit dem Text „Invalid Key“ wird es höchste Zeit.

Zur Vollständigkeit hier nochmal den Befehl um die PHP Paketquellen hinzuzufügen, falls noch nicht geschehen. (Fällt spätestens auf, wenn keine neueren PHP Versionen gefunden werden 😅)

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list

Um diese Paketquelle nun als „Seriös“ zu kennzeichnen, brauchen wir nun auch noch den Schlüssel des Servers, den wir bei uns als vertrauenswürdig hinterlegen. Dazu laden wir ein passendes Paket herunter und installieren dieses im Anschluss.

curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
dpkg -i /tmp/debsuryorg-archive-keyring.deb

Danach kann es auch schon mit der Installation der neueren PHP Version losgehen. Hier in diesem Beispiel werden wir von Version 8.2 auf die 8.5 Updaten. (Vorsicht, immer erst einmal prüfen ob die Nextcloud Version überhaupt mit der gewünschten PHP Version kompatibel ist: https://github.com/nextcloud/server/wiki/Releases-and-PHP-versions)

Hierzu lassen wir uns mit nachfolgendem Befehl alle Pakete/Module auflisten, die wir in der Version 8.2 installiert haben, damit wir diese in der neueren Version installieren können.

apt list --installed | grep php8.2

Danach einfach die gleichen Pakete wieder mit apt install installieren. Damit man die Namen gleich einfacher kopieren kann, hab ich folgenden Befehl:

apt list --installed | grep php8.2 | sed 's/\/.*$//' | sed 's/8.2/8.5/g'

Danach kopieren wir noch die zwei Konfigurationsdateien aus der alten PHP Version in die Neue.

cp /etc/php/8.2/apache2/php.ini /etc/php/8.5/apache2/
cp /etc/php/8.2/cli/php.ini /etc/php/8.5/cli/

Nun gehts nur noch darum die neue PHP Version zu aktivieren und die Alte zu deaktivieren.

a2dismod php8.2
a2enmod php8.5
systemctl restart apache2

Zum Schluss setzen wir noch mit dem Nachfolgenden Befehl, welche PHP Version auch auf der CLI verwendet werden soll, damit auch Nextcloud cron wieder richtig läuft.

#Mit dem Befehl prüfen welche Version genutzt wird
php -version

#Mit diesem Befehl die PHP Version auswählen
update-alternatives --config php

Damit sollte die Umstellung abgeschlossen sein.

Schreibe einen Kommentar