PHP-Problem beim manuellen Update

Guten Tag,

ich wollte Nextcloud updaten (war bei Version 18 hängen geblieben. Da der Updater nicht funktioniert, per manuellem Update.
Backup gemacht.
Nextcloud24-Dateien an den richtigen Ort gepackt. alte Config-Datei eingefügt.

Aber wenn ich den Update-Befehl ausführen will (sudo -u http php80 occ upgrade ) erscheint folgende Fehlermeldung:

An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

Ich habe als Lösungsvorschlag gefunden, dass ich apc.enable_cli=1 in der php.ini einfügen soll. Allerdings finde ich die Datei nicht. in etc/php gibt es nur die php.ini-Datei, nicht wie in den Anleitungen angegeben noch Unterordner für die php-Versionen.

Wenn ich mit sudo-u http php occ upgrade arbeiten will, gibt es die Fehlermeldung

This version of Nextcloud requires at least PHP 7.4
You are currently running 7.3.3. Please update your PHP version

Obwohl php7.4 und php8.0 installiert sind.

php -v ergibt

PHP 7.3.3 (cli) (built: Oct 7 2021 06:18:21) ( NTS )

Du kannst nicht einfach Nextcloud-Versionen überspringen. Für Updates hättest du die Updates von Nextcloud 18 über Nextcloud 19, 20, 21, 22, 23 bis Nextcloud 24 machen müssen.

Du hast zwei Möglichkeiten:

a.) Restore dein Backup der Version Nextcloud 18 und aktualliere alle Versionen bis Nextcloud 24. Es kann sein, dass du zwischenzeitlich das Betriebsysstem-Release und damit verbunden die PHP-Version ändern musst. Überall kann was schiefgehen. Der Aufwand ist hoch, das Risiko ist auch hoch.

b.) Du baust dir in Nextcloud 24 alles nach. Du kannst die Dateien wieder importieren (z. B. cp) und dann
sudo -u www-data php occ files:scan --all (Dokumentation)
durchführen. Dann sind deine Dateien alle wieder in der Nextcloud. Deine Freigaben und andere Dinge aus der alten Datenbank sind aber verloren. Musst du alles neu machen.

Leider muss man sich regelmäßig (etwa alle 6 Monate) um seine Nextcloud kümmern. Alternativ kannst du dir eine Managed Nextcloud kaufen, wo sich andere um die Updates kümmern. Vor allen wenn man die Nextcloud sowieso im Internet betreibst (Webspace, virtueller Server, …) ist das oft die bessere Alternative.

a) scheint rauszufallen.
b) D.h. ich lösche den Nextcloud-Ordner-Inhalt komplett und installiere NC 24 neu?
ist mit “cp” copy gemeint?
Was muss ich beachten? Irgendwelche anderen Systemeinstellungen zurücksetzen oder kann ich es genauso neu installieren, als ob es das erste Mal wäre?

Die Einrichtung zu verlieren wäre halb so schlimm, die Daten sind gesichert, und ich hatte eh nur zwei User, den Admin und einen Nutzer. Freigaben gab es nicht. Ok, vllt ein oder zwei Dokumente.
Die Dateien liegen nicht im Nextcloud-Ordner. Spiel das für den scan-Befehl eine Rolle?

Ja, das mit den Updates habe ich jetzt gelernt. Ich hatte es vorher überhaupt nicht auf dem Schirm, dann lief es 2 Jahre einwandfrei. Habe es erst gemerkt, als ich nach neuen Funktionen gesucht habe.
Managed Nextcloud ist keine Option, weil ich eine Synology Diskstation im Keller habe, auf der die NC läuft.

Ob du einfach deine alte Nextcloud überinstallieren kannst, weiß ich nicht. Ich habe keine Synology Diskstation. Aber du hast es ja vor einigen Jahren mal installiert. Unter anderem wirst du z. B. SSL-Zertifikate verwendet haben. Das (also den Webserver) musst du ja nicht überinstallieren. Nextcloud besteht ja eigentlich nur aus Programmen (vor allen PHP und Javascript) und einer Datenbank (z. B. MariaDB). Die Datenbank muss natürlich auch leer sein. Evtl. einfach einen anderen Prefix verwenden oder die Datenbank leeren.

Wenn du ein “leere” Nextcloud 24 mit deinen Benutzern (auch neu angelegt) hast, kannst du die Dateien in die Dateistruktur zurückkopieren (oder sogar verschieben) und dann den scan-Befehl durchlaufen lassen. Dann kennt Nextcloud (genauer die Datenbank) die Dateien wieder.

Ok, danke, ich probiere es aus.

Ich habe im Synology-Forum nachgefragt und da den entscheidenden Tipp bekommen den Pfad in den Befehl aufzunehmen:

sudo -u http php74 -c /var/packages/WebStation/etc/php_profile/<String>/user_settings.ini  /path/to/nextcloud/occ <Befehl>

Damit habe ich keine PHP-Fehler mehr.