Moodle-Fehlermeldung: Config table does not contain version
Dass Fehlermeldungen nicht immer zur Fehlerursache führen, ist für IT-Admins und Programmierer nichts Neues. Wir erhielten u.a. nach einer Servermigration von Moodle 3.9 die folgende klassische Fehlermeldung:
Config table does not contain version, can not continue, sorry.
Unter dem Link „More information about this error“ erfährt man, dass wahrscheinlich der Eintrag in der version.php
nicht zu dem Datenbank-Eintrag in der Tabelle mdl_config
passt und man diesen prüfen bzw. korrigieren sollte. Bei unvollständigen, abgebrochenen oder fehlgeschlagenen Installationen oder Updates können die beiden Einträge unterschiedliche Werte aufweisen. Wie bereits bei einigen Fällen zuvor, waren beide Einträge identisch unter version
und zeigten die aktuell installierte Moodle-Version an.
Um der Fehlerursache weiter auf den Grund zu gehen, hilft es zu wissen, dass Moodle beide Einträge miteinander vergleicht und dabei zum Einen auf die version.php
und zum Anderen auf die Datenbank-Tabelle mdl_config
zugreift. Hat Moodle keinen (Lese-)Zugriff auf die Datei oder die Datenbank-Tabelle, führt dies in der Regel zu der oben beschriebenen Fehlermeldung.
Ein kurzer Check der Zugriffsrechte auf das moodle
-Verzeichnis zeigte, dass alles in Ordnung war. Als nächstes überprüften wir die Log-Datei des Datenbankservers (in diesem Fall eines PostgreSQL-Servers unter Debian 10) /var/log/postgresql/postgresql-11-main.log
. Hier offenbarte sich schon die Fehlerursache, denn folgender Eintrag war zu finden:
user@moodle-db ERROR: permission denied for table mdl_config
Die Rechte des Datenbank-Users für die Tabellen waren zwar korrekt, allerdings passten die Rechte für das betroffene Datenbankschema nicht ganz und mussten angepasst werden. Dadurch war das Problem gelöst und die Moodle-Site wieder voll funktionsfähig. 🙂