Kai: Fatal error: Cannot redeclare make_log_url

Hallo zusammen,

wir sind gerade dabei Moodle aufzusetzen und dabei auf folgende Fehlermeldung gestossen:

Fatal error: Cannot redeclare make_log_url() (previously declared in /global/WEB_DAT/documents/fme/institute/get/lehre/course/lib.php:25) in ./lib.php on line 54

Diese erscheint nur, wenn ich auf Kurse -> Kursverwaltung klicke und den "Debugging-Modus" eingeschaltet habe (ohne Debugging friert die Seite ein, der "zurück"-Button funktioniert aber noch). Bei allen anderen Funktionen ist mir das noch nicht passiert, aber die Kursverwaltung ist ja so im Allgemeinen eine recht zentrale Funktion ,-))
Weiß jemand, wie ich das abstellen, also beheben kann? Oder zumindest, wo ich Hilfe dazu bekommen kann? Kann das vllt. auch am Server bei uns liegen?

Bisher habe ich versucht einfache "include" oder "require" - Befehle zu finden, habe aber keine entdeckt. Ich habe auch mal versucht, diese Funktion zu deaktivieren (wirklich nur ganz einfach mit /* */), dann kommt wieder dieser Fehler nur mit der nächsten Funktion. Weiter wollte ich am Code jetzt nicht "rumpfuschen".

Wenn noch weitere Informationen benötigt werden, stelle ich diese natürlich gerne zur Verfügung. Moodle Version ist 1.9.2

Gruss
Kai

  1. Hallo

    wir sind gerade dabei Moodle aufzusetzen und dabei auf folgende Fehlermeldung gestossen:

    Fatal error: Cannot redeclare make_log_url() (previously declared in /global/WEB_DAT/documents/fme/institute/get/lehre/course/lib.php:25) in ./lib.php on line 54

    Die Funktion make_log_url wird erstmalig von /global/WEB_DAT/documents/fme/institute/get/lehre/course/lib.php, Zeile 25 eingebunden und dann noch einmal in ./lib.php (also von "innerhalb" des Skripts), was zu einer Fehlermeldung führt.

    So weit, so klar. Hast du Zugriff auf die Datei, in der die Funktion erstmalig deklariert wird? Deine weiteren Ausführungen lassen das nicht klar erkennen.

    Weiß jemand, wie ich das abstellen, also beheben kann? Oder zumindest, wo ich Hilfe dazu bekommen kann? Kann das vllt. auch am Server bei uns liegen?

    Wenn du die völlige Kontrolle über die Skripte hast, kannst du herausfinden, ob die Funktionen nur den Namen oder auch die Funktionalität (Eingaben, Ausgaben) teilen. Man könnte auch die Funktionsnamen des einen Skriptes mit einem Präfix versehen, was dann aber bedingte, dass deren sämtliche Aufrufe ebenfalls mit diesem Präfix versehen werden. Bei einem (offensichtlich) umfangreichen Skript eine nicht praktikable Lösung, zumal, wenn diese Arbeit beim nächten Upgrade des Skripts flöten geht.

    Bisher habe ich versucht einfache "include" oder "require" - Befehle zu finden, habe aber keine entdeckt. Ich habe auch mal versucht, diese Funktion zu deaktivieren (wirklich nur ganz einfach mit /* */), dann kommt wieder dieser Fehler nur mit der nächsten Funktion. Weiter wollte ich am Code jetzt nicht "rumpfuschen".

    Wenn es denn weitere Funktionen mit Namenskonflikten gibt, erscheint es nicht unwahrscheinlich, dass _ein_ Skript mehrfach eingebunden wird.

    Tschö, Auge

    --
    Die deutschen Interessen werden am Liechtenstein verteidigt.
    Veranstaltungsdatenbank Vdb 0.2