Update Nextcloud 27 auf 27.0.1

Hallo Zusammen,

nach dem Update von 27 auf 27.0.1 habe ich folgende Fehlermeldung erhalten:

Es gibt einige Warnungen bei deiner Systemkonfiguration.

In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von “occ db:add-missing-indices” können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.
Fehlender Index “systag_by_tagid” in der Tabelle “oc_systemtag_object_mapping”.
Fehlender Index “textstep_session” in der Tabelle “text_steps”.

Bei Durchführen des Befehls: occ db:add-missing-indices

bekomme ich folgende Fehlermeldung:

Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /var/www/nextcloud/lib/private/DB/Connection.php:140

Kennt jemand dafür eine Lösung.
Freue mich auf Euren Support!
VG Andreas

Wie lautet dein Setup? ist es ein dedizierter Server oder ein Docker/AIO Gerät?

Welches Betriebssystem? Debian/Ubuntu/?

Was für Webserver? Apache2/nginx?

Welche php-Version

Hast du kürzlich ein PHP-Update durchgeführt?

Mit nur ein Paar mehr Informationen, ist es mit Sicherheit möglich dir zu helfen.

1 Like

Hallo ernolf,
vielen Dank für deine Nachricht. Hier die gewünschten Infos.
Freue mich auf deine Feedback.

VG

Wie lautet dein Setup? ist es ein dedizierter Server oder ein Docker/AIO Gerät?
Habe die Nextcloud via LAMP-Stack auf einem Server in meinem Heimnetzwerk installiert.

Welches Betriebssystem? Debian/Ubuntu/?
Ubuntu 22.04

Was für Webserver? Apache2/nginx?
Apache2

Welche php-Version
8.1 (zeigt mir Nexcloud System an)

Hast du kürzlich ein PHP-Update durchgeführt?
Nein. Habe die Nextcloud von 27 auf 27.0.1 upgedadet und bekam diese 2 Fehlermeldungen

  • Fehlender Index “systag_by_tagid” in der Tabelle “oc_systemtag_object_mapping”.
  • Fehlender Index “textstep_session” in der Tabelle “text_steps”.

In diesem Rahmen wollte ich dann
sudo -u www-data php occ db:add-missing-indices durchführen und bekam dann folgende Meldung
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /var/www/nextcloud/lib/private/DB/Connection.php:140

VG andreas

1 Like

Hat niemand eine Idee?
VG

Eventuell hast du mehrere PHP Versionen installiert, zB 8.1 für den Webserver und 8.2 auf der CLI. Checke welche php Version genutzt wird, wenn du php auf der CLI ausführst

2 Likes

Danke für deine Unterstützung. Blöde Frage, mit welchem Befehl mache ich das?

Mit php -v.

1 Like

Du kannst auch mal schauen ob du php8.1 als Befehl aufrufen kannst.

1 Like

grafik

wie lautet der Befehl dafür? Sry, für die blöden Fragen

Genau wie geschrieben php8.1 :wink:

1 Like

grafik

Okay und jetzt führe den occ Befehl einfach mit php8.1 anstelle von php aus.

1 Like

Sehr geil!!! @SysKeeper: Problem gelöst!!! :slight_smile: Vieeelen Dank!!

1 Like

entschuldigung, deine Antwort ist mir irgendwie durchgerutscht.

Ja, wie @SysKeeper schon geschrieben hat, würde ich auch erst mal überprüfen welche php-Versionen wo benutzt werden.

Hier die Kommandos zum prüfen:

Version des php-cli

php -v
# oder
readlink -f $(which php)

Die vom apache2 benutzte Version:

apachectl -tD DUMP_INCLUDES | sed -n '/php.*conf/ s#.*/\([^/]*\)\.conf#\1#p'

Dies listet alle installierten php-Pakete auf deinem System auf:

dpkg -l | awk '/^ii.*php/ {print $2}'

Es geht also darum, dass nur eine Version benutzt wird. Wenn also php8.1 von deinem apache2 benutzt wird und ‘php -v’ bzw. ‘readlink -f $(which php)’ dir etwas von php8.2 sagt, dann kannst du entweder dein apache2 auch auf php8.2 hoch stufen oder über dem update-alternatives Mechanismus manuell auf 8.1 schalten.
Dazu musst du folgende Zeile ausführen und Schritt für Schritt jede Alternative aus dem Status “automatischer Modus” auf 8.1 im “manueller Modus” setzen:

for linkgroup in `ls /var/lib/dpkg/alternatives/ | grep -E "ph(ar|p)"`; do update-alternatives --config $linkgroup; done

Ich holfe das hilft,
viel Glück!

2 Likes

ernof kein Problem. Vielen Danke für deine Unterstützung.

Wie von SysKepper beschrieben hat folgender Befehl mein Problem vollständig gelöst.

sudo -u www-data php8.1 occ db:add-missing-indices

Ja, hab schon gesehen, meine Nachricht hat sich überschnitten, da warst du schon am Ziel.

hervorragend!

1 Like