PHP Fehler: syntax error, unexpected im Bearbeitungsmodus

PHP Fehler: syntax error, unexpected im Bearbeitungsmodus

von Peter Eipert -
Anzahl Antworten: 4
Hallo,

wir bekommen seit kurzem in unserem Moodle beim Aufrufen einer Kursseite (zum Beispiel /course/view.php?id=254) im Bearbeitungsmodus folgende Fehlermeldung:

Fehler: syntax error, unexpected 'moodle_database' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST)

Der Fehler tritt scheinbar nur im Bearbeitungsmodus bei Kursen auf, deren Kursende aktiviert und abgelaufen ist. Deaktiviert man den Bearbeitungsmodus, wird der Kurs normal angezeigt.
Deaktivieren des Kursendes oder Verlängerung der Laufzeit bei den betroffenen Kursen behebt den Fehler leider nicht.

Es könnte sein, dass der Fehler durch das letzte Update auf die aktuellste Version 3.11.1+ (Build: 20210716) verursacht wurde. Möglich ist aber auch dass es ihn schon länger gab aber wir nur noch keine abgelaufenen Kurse hatten. Es ist unser erster Schuljahreswechsel.

Im Forum und auch über die Google Suche habe ich nichts dazu gefunden.

Das Moodle läuft auf einem virtualisierten Debian 4.19.194-2
PHP Version: 7.3.29-1
MariaDB Version: 10.3.29

Ich wäre dankbar für jede Hilfe
Peter

Mittelwert:  -
Als Antwort auf Peter Eipert

Re: PHP Fehler: syntax error, unexpected im Bearbeitungsmodus

von Matthias Giger -
Nutzerbild von Besonders aktive Moodler
Wahrscheinlich ist das Plugin Sharing Cart installiert, dessen neuste Version verursacht genau diese Art von Fehler.
Lösung: Plugin entweder deinstallieren oder eine ältere Version einspielen (dazu deren Versiosnnummer anpassen).
Als Antwort auf Matthias Giger

Re: PHP Fehler: syntax error, unexpected im Bearbeitungsmodus

von Peter Eipert -
Vielen Dank,
der Downgrade hat das Problem behoben. Den Tip mit dem "Versiosnnummer anpassen" habe ich nicht verstanden aber eine Deinstallation und Neuinstallation des Plugins hat funktioniert.
LG Peter
Als Antwort auf Peter Eipert

Re: PHP Fehler: syntax error, unexpected im Bearbeitungsmodus

von Matthias Giger -
Nutzerbild von Besonders aktive Moodler

Wenn man ein Plugin deinstalliert, werden die entsprechenden Referenzen in der Datenbank gelöscht, wodurch unter Umständen viel Arbeit verloren geht.

Dies kann man verhindern, indem man einer älteren Version eine höhere Versionsnummer gibt (in der Datei version.php). Moodle glaubt dann, es handle sich um eine neuere Version und führt ein ganz normales Update durch.

Das funktioniert natürlich nur bei Plugins, die keine neuen Tabellen in der Datenbank anlegen.

Als Antwort auf Matthias Giger

Re: PHP Fehler: syntax error, unexpected im Bearbeitungsmodus

von Peter Eipert -
Sie meinen die version.php in der zip-Datei des älteren Plugins. Jetzt habe ich sie gefunden. Danke für den Tip.