MediaWiki/Fehlerbehebung

Aus Foxwiki
Version vom 1. April 2022, 12:13 Uhr von Dirkwagner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Debugging == MediaWiki ist Software, und Software kann leider schief gehen. Wenn Sie auf ein Problem stoßen, kann das Problem Dateiverzeichnisberechtigun…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Debugging

MediaWiki ist Software, und Software kann leider schief gehen. Wenn Sie auf ein Problem stoßen, kann das Problem Dateiverzeichnisberechtigungen, Datenbankbenutzerberechtigungen, fehlende Dateien, fehlende Datenbanktabellen, schlechte Einstellungen in LocalSettings.php, inkompatible Versionen oder sogar (vergessen Sie den Gedanken) Fehler im Code sein. (Die übrigens viel wahrscheinlicher in Erweiterungen vorkommen als im Core-MediaWiki.)

Im Allgemeinen entsteht die Quelle der größten Verwirrung in MediaWiki, wenn Benutzer zu irgendeinem Zeitpunkt im Wiki eine leere Seite im Browser sehen. Dies geschieht, wenn ein Fehler auftritt und wenn PHP so konfiguriert ist, dass in diesem Fall eine leere Seite anstelle der Fehlermeldung angezeigt wird. Es ist fast immer besser, den Fehler auf dem Bildschirm zu sehen; Wenn Sie also eine leere Seite erhalten, ist die beste Lösung, die folgende Zeile entweder zu LocalSettings.php oder zu PHPs eigener php.ini-Datei hinzuzufügen:


ini_set( 'display_errors', 1 ); 


Wenn es zu LocalSettings.php hinzugefügt wird, sollte es sich am Anfang der Datei befinden, direkt unter der Zeile "<?php".

Das einfachste Werkzeug für jede Art von Debugging ist die MediaWiki-Debug-Toolbar. Es stellt alle notwendigen Informationen (SQL-Aufrufe, Warnungen, Debug-Anzeigen) an einer leicht zugänglichen Stelle am unteren Rand des Browsers bereit. Für diejenigen von uns, die daran gewöhnt sind, MediaWiki auf altmodische Weise zu debuggen, ist es ein bemerkenswert nützliches Werkzeug. Sie können es aktivieren, indem Sie Folgendes zu LocalSettings.php hinzufügen:


$wgDebugToolbar = true; 


Möglicherweise möchten Sie jedoch nicht, dass jeder die Debugging-Symbolleiste sieht, während sie aktiviert ist (wenn Sie sie aktivieren, wird sie jeder sehen). Zum Glück gibt es andere Möglichkeiten. Wenn Sie eine Fehlermeldung sehen, die den Text „(SQL-Abfrage versteckt)“ enthält, und Sie das aufgerufene SQL sehen möchten, können Sie es sehen, indem Sie Folgendes zu LocalSettings.php hinzufügen:


$wgShowSQLErrors = true; 


Und wenn der aufgetretene Fehler komplex zu sein scheint, können Sie MediaWikis eigene Debug-Protokollierung aktivieren und dann den Inhalt dieser Datei untersuchen. Um es zu aktivieren, fügen Sie Folgendes zu LocalSettings.php hinzu:


$wgDebugLogFile = "/full/path/to/your/debug/log/file"; 


Diese Datei muss von Ihrem Webserver beschreibbar sein.

Oft ist die einfachste Lösung, wie bei einer Menge Software, einfach eine Websuche nach dem Text der Fehlermeldung durchzuführen – es könnte durchaus sein, dass andere auf dieses Problem gestoßen sind und es vielleicht diagnostiziert haben. Wenn Sie glauben, dass das Problem von einer bestimmten Erweiterung herrührt, ist es eine gute Idee, die Hauptseite dieser Erweiterung oder ihre Diskussionsseite zu überprüfen, um zu sehen, ob sie dort erwähnt wird.