Auge: Fatal error: Cannot redeclare make_log_url

Beitrag lesen

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