NextCloud erfordert ab einem gewissen Update Level PHP 8.0. Die meisten NextCloud Installationen sind direkt auf einem Linux durchgeführt. Dabei ist es egal ob Ubuntu oder Debian. Ich empfehle grundsätzlich vor dem Update ein Snapshot oder Backup von dem System durchzuführen. Denn Ihr kennt es, sicher ist sicher.

Diese Anleitung kann für folgende Update Schritt verwendet werden.
PHP 7.2 zu PHP 8.0
PHP 7.3 zu PHP 8.0
PHP 7.4 zu PHP 8.0

Schritt für Schritt PHP Update Anleitung

Ich empfehle die Services zunächst komplett zu stoppen. Dann kann auch wirklich nichts dazwischen funken. Denkt dran, somit wären alle Services auf dem Server Offline welche über den Apache laufen.

service mysql stop
service apache2 stop

Schaut euch einfach mal die aktuelle Version von PHP an. Eine lange Liste mit PHP Versionen sollte hier erscheinen. Das “tee php.txt” speichert die im Moment alle installierten PHP Module in der Datei php.txt.

dpkg -l | grep php | tee php.txt

php -v

System zum Update vorbereiten. Im Repository von ondrej gibt es immer die aktuellste Version.

apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update

Jetzt installieren wir die PHP Version 8.0 und direkt hinterher die wichtigsten PHP Module.

apt install php8.0-common php8.0-cli

apt install php8.0-{mbstring, gd, curl, imagick, intl, bcmath, gmp, mysql, zip, xml, apcu, libapache2-mod-php8.0}

Jetzt ist auch schon PHP 8.0 installiert und läuft bereits auf dem System. Folgend kann man das überprüfen und dem Apache mitgeben er soll mit PHP 8.0 Nextcloud betreiben.

php -v

a2dismod php7.4
a2enmod php8.0

In den meisten Fällen habt Ihr an der php.ini geschraubt und z.B. das memory_limit und upload_max_filesize geändert. Das sollte man nun auch wieder erledigen.

nano /etc/php/8.0/apache2/php.ini

## Beispiel ##
memory_limit = 4096M
upload_max_filesize = 32G

An dieser Stelle ist erstmal alles erledigt und wir starten Apache und Mysql wieder. Danach testet Ihr erstmal ob Nextcloud auch wieder normal funktioniert.

service mysql start
service apache2 start

## NextCloud Testen ##

Aufräumen und sonstige Updates

## System grundsätzliche Updaten ##
apt upgrade -f

## Alte PHP Version 7.x entfernen ##
apt purge '^php7.*'