Cronjob Fehler nach Update 29.0.3

Hallo,
ich habe gestern das Update auf NC 29.0.3 durchgeführt und nun den folgenden/einzigen Fehler:
“Letzte Hintergrund-Jobausführung lief Vor 11 Stunden”
Die Berechtigung für die cron.php habe ich kontrolliert.
image

Wenn ich den cron-Job per Hand starte bekomme ich folgende Fehlermeldung:

Die Systemumgebung sieht wie folgt aus:
NC 29.0.3 (Update von 28.0.5)
Ubuntu 24.04 (Update von 22.04)
php 8.3 (Update von 8.1)
Ich habe erst die NC auf 29.0.3 aktualisiert und dann Ubuntu auf 24.04.
Irgendwo hatte ich diese Reihenfolge gelesen, da NC28 nicht mit Ubuntu 22 funktionieren sollte. Ich hoffe das ist nicht das Problem.

Hat jemand eine Idee wie ich das fixen kann?
Im Forum habe ich nach cron-Fehlern gesucht, aber nichts zu dem Treiber - Datenbankfehler gefunden, nur zum cron-Fehler im Zusammenhang mit dem Memory-Cache.
https://help.nextcloud.com/t/nextcloud-keeps-stating-cron-php-hasnt-ran-cron-logs-say-otherwise/120417less /

Vielen Dank
Marcus

Nachtrag:
Ich habe eben festgestellt, das noch beide Pakete php8.1 und 8.3 installiert sind. Wenn ich php8.1 deinstalliere funktioniert die NC nicht mehr, also nutzt sie noch das alte php.
Wie kann ich das sauber auf 8.3 umstellen?
Ich denke damit wird sich wahrscheinlich auch das cron-Problem beheben.

Danke, Marcus

Mit dem → php-updater ← Skript.


Viel Glück,
ernolf

1 Like

Vielen Dank ernolf, das war die Lösung!
Ich habe den Updater durchgeführt, die 200 Fragen beantwortet und dann hat wieder alles funktioniert. Super Tool :slight_smile:
Danke, Marcus

1 Like

Hallo,

dasselbe Problem hatte ich auch schon einmal. Die Ursache lag in einer automatisch installierten neueren PHP- Version. Es wurden in dem Fall nicht auch automatisch alle PHP- Module der Vorversion installiert sondern nur ein gewisser Basissatz.

Das hat bei mir geholfen:

a) Prüfen der installierten PHP- Module
Die installierten Module lassen sich mit folgendem Befehl auflisten:

sudo dpkg -l | grep php8

In der Ergebnisliste vergleicht man ob es zu jedem “alten” Modul auch ein aktuelles gibt und installiert das neue ggf. nach:

sudo apt install php8.3-mysql

Das spielt man für alle fehlenden Module durch.
Die Liste der minimal benötigten Module findest Du hier:
PHP Modules & Configuration — Nextcloud latest Administration Manual latest documentation .

Zum Vergleich, diese Module sind bei meinem System installiert:

php8.3 php8.3-apcu php8.3-bcmath php8.3-cgi php8.3-cli php8.3-common php8.3-curl php8.3-fpm php8.3-gd php8.3-gmp php8.3-igbinary php8.3-imagick php8.3-imap php8.3-intl php8.3-ldap php8.3-mbstring php8.3-mcrypt php8.3-memcache php8.3-memcached php8.3-msgpack php8.3-mysql php8.3-opcache php8.3-pspell php8.3-readline php8.3-redis php8.3-soap php8.3-sqlite3 php8.3-tidy php8.3-xml php8.3-xmlrpc php8.3-xsl php8.3-zip 

(Das können durchaus mehr sein, als NC benötigt.)

b) Anpassen der Standard- PHP Version (CLI, Konsole)
mit dem Befehl

sudo update-alternatives --set php /usr/bin/php8.3

stellt man z.B. auf PHP 8.3 um. Die PHP- Version sollte der von NC empfohlenen entsprechen. Siehe System requirements — Nextcloud latest Administration Manual latest documentation .

Danach sollte der Cron- Job wieder durchlaufen.
Optional kann man im Cron- Job auch den Aufruf von “php” durch den kompletten Pfad und die explizite Version ersetzen:

"php" oder "/usr/bin/php" wird zu "/usr/bin/php8.3".

Sollte wieder mal ein unvollständiges Update von PHP erfolgen, so funktioniert erstmal alles wie gehabt. Allerdings darf man bei gewollten Versionswechseln nicht vergessen den Cron- Job anzupassen.

JA, genau das macht das php-updater Skript von Vorne herein auf einer sicheren Art und Weise.
Also deine ganzen Erklärungen in Ehre :+1:, aber genau dafür gibt es das Skript, damit nicht jeder seine Abenteuer mit PHP beschreiben muss, wie im Übrigen schon zigtausende vor dir :wink:

Installiere es einfach selber und finde heraus, wie viel Informationen es dir liefert und mit welcher Leichtigkeit der Wechsel einer PHP Version erfolgen kann!


Viel Glück,
ernolf

Laut den Anforderungen an Nextcloud 28 und Anforderungen an Nextcloud 29 sollte die Reihenfolge eigentlich egal sein. Beide Versionen unterstützen PHP 8.1 (Ubuntu 22.04 LTS) sowie PHP 8.3 (Ubuntu 24.04 LTS).

Manchmal fehlen die notwendigen Metapakete. Relevant wäre hier das Paket php, welches bei Ubuntu 22.04 LTS PHP 8.1 und bei Ubuntu 24.04 LTS PHP 8.3 installiert.

dpkg -l |grep php

Wenn man korrekt upgradet, sollte man eigentlich das Alternativen-System nicht konfigurieren müssen, da es nur eine Version gibt.

Vielen Dank, die Lösung war die im Beitrag 3 von ernolf.
Jetzt läuft alle, dank des Skripts.

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.