PHP-Versionsupdate für eine Nextcloud auf einem Raspberry Pi
Bei einer meiner Nextclouds habe ich kürzlich ein PHP-Update von der veralteten Version 7.4 auf die Version 8.0 durchgeführt.
Danach war die Nextcloud über die Weboberfläche nicht mehr erreichbar! Eine Fehlersuche.
Ich bin da der Anleitung auf 👉 https://jet0jlh.de/?p=350 gefolgt.
Der Updateprozess ist auch ohne weiteres durchgelaufen und ich hatte anschließend die Version 8.0 auf dem Server.
Nach dem PHP-Update wollte ich die Nextcloud über die Weboberfläche aufrufen und siehe da, es kam die aussagekräftige Fehlermeldung:
Internal Server Error The server encountered an internal error and was unable to complete your request. Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report. More details can be found in the server log.
Ich habe ein paar Dinge ausprobiert und noch fehlende PHP-Module nachinstalliert, was aber nicht zum gewünschten Erfolg geführt hat.
Also ab auf die CLI und dort ein wenig herumgesucht. Erst einmal habe ich versucht die Nextcloud in den Wartungsmodus zu schicken mit
sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on
und siehe da, es kam diese Meldung:
This version of Nextcloud is not compatible with > PHP 8.0. You are currently running 8.2.0
Die Nextcloud kann anscheinend nicht mit der Version 8.2 umgehen und verlangt die Version 8.0.
Zwischen den PHP-Versionen kann einfach umgeschaltet werden:
sudo a2dismod php8.2
sudo a2enmod php8.0
Danach noch den Webserver Apache neu starten und schon funktioniert die Nextcloud wieder:
sudo systemctl restart apache2
Auf meinem Server sind die folgenden PHP-Module installiert:
php8.0-bcmath
php8.0-cli
php8.0-common
php8.0-readline
php8.0-curl
php8.0-gd
php8.0-gmp
php8.0-intl
php8.0-mbstring
php8.0-mysql
php8.0-opcache
php8.0-phpdbg
php8.0-readline
php8.0-xml
php8.0-zip
php8.0-redis
Die Bibliothek wird ebenfalls benötigt:
libapache2-mod-php8.0
Das PHP-Modul php8.0-json gibt es nicht mehr. Es ist ein virtuelles Modul, dass automatisch mit einem der folgenden PHP-Module bereitgestellt wird. Nachdem mindesten eines diese Pakete bereits installiert wurden, ist das JSON-Modul auf dem Server vorhanden.
Package php8.0-json is a virtual package provided by:
php8.0-phpdbg 1:8.0.26-1+0~20221205.45+debian11~1.gbpfbda3f
php8.0-fpm 1:8.0.26-1+0~20221205.45+debian11~1.gbpfbda3f
php8.0-cli 1:8.0.26-1+0~20221205.45+debian11~1.gbpfbda3f
php8.0-cgi 1:8.0.26-1+0~20221205.45+debian11~1.gbpfbda3f
libphp8.0-embed 1:8.0.26-1+0~20221205.45+debian11~1.gbpfbda3f
libapache2-mod-php8.0 1:8.0.26-1+0~20221205.45+debian11~1.gbpfbda3f
You should explicitly select one to install.
Wenn es noch immer Probleme geben sollte, dann kann auch manuell die PHP-Version ausgewählt werden. Es werden alle auf dem Server vorhandenen PHP-Versionen aufgelistet und können mit der Eingabe der Zeilenzahl ausgewählt werden.
update-alternatives --config php
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
* 2 /usr/bin/php8.0 80 manual mode
3 /usr/bin/php8.2 82 manual mode
Press to keep the current choice[*], or type selection number: 2
Danach ist der Webserver zu starten:
sudo systemctl restart apache2
Weitere Nextcloud Informationen
In meinem Codeberg-Repository gibt es eine detaillierte Anleitung für die Installation einer Nextcloud auf einem Raspberry Pi
Dein Weg zur eigenen Nextcloud
Dein Weg zur eigenen Nextcloud
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️
Source
Photo by Ben Griffiths on Unsplash