Zum Inhalt

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.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source

Photo by Ben Griffiths on Unsplash