Fehler in Joomla finden und beheben
Wird eine Joomla-Webseite nicht korrekt oder gar nicht mehr angezeigt (z.B. weiße Seite), dann können die Ursachen sehr vielfältig sein. Manchmal erscheint noch eine Warnung oder eine Fehlermeldung, die Hinweise zur Fehlerursache geben können. Ist das nicht der Fall oder hilft einem das nicht weiter, muss man eine detaillierte Fehleranalyse durchführen. Dazu muss man den sogenannten Call Stack anzeigen lassen und diesen anschließend analysieren.
Anzeige des Call Stacks
Um den Call Stack anzeigen zu lassen, muss man im Joomla-Backend zunächst noch den Debug-Modus aktivieren und das Error-Reporting hochsetzen:
System -> Konfiguration: TAB "System" : "System debuggen" auf "ja" setzen!
System -> Konfiguration: TAB "Server" : "Fehler berichten" auf "Maximum" setzen!
Alternativ
Diese Einstellungen kann man alternativ auch direkt in der configuration.php vornehmen, in dem man folgende Einträge ändert:
Joomla 3:public $debug = '1';
public $error_reporting = 'maximum';
Joomla 4:public $debug = true;
public $error_reporting = 'maximum';
Hinweis: Die configuration.php hat die Dateirechte 444 (CHMOD). Diese muss man vor dem Speichern auf 644 (CHMOD) setzen. Anschließend wieder zurücksetzen!
Rufen Sie nun die fehlerhafte Webseite auf! Es wird der sogenannte Call Stack angezeigt. Dieser hilft Ihnen, die Ursache für das Problem zu finden.
Analyse des Call Stacks
Der Call Stack ist eine Liste, die den Weg zum Fehler anzeigt. Sie muss von unten nach oben gelesen werden. Der Fehler steht nicht zwingend in der obersten Zeile.Oft löst eine Erweiterung einen Fehler aus, der sich erst weiter oben in Joomla auswirkt. Der Call Stack gibt also nur Hinweise auf eine problematische Erweiterung, die meist in den Zeilen unterhalb der obersten Zeile zu finden ist.
Des Weiteren können auch ausführlichere Fehler bei Datenbank-Abfragen angezeigt werden.
Wichtig: Die geänderten Einstellungen in der Joomla-Konfiguration müssen nach der Analyse wieder zurückgesetzt werden!
Der Call Stack wird nicht angezeigt (Template-Problem)
Es kann vorkommen, dass trotz der geänderten Einstellungen in der Joomla-Konfiguration der Call Stack nicht angezeigt wird. Bei Nutzung des Protostar-Templates ist das kein Problem, da hier die Joomla-Fehlerseite verwendet wird, die diesen anzeigt. Verwendet man hingegen ein anderes Template, so kann es sein, dass dieses seine eigene Fehlerseite hat, welche die gewünschten Daten nicht anzeigt.
In diesem Fall muss man die error.php im Template-Verzeichnis des entsprechenden Templates "deaktivieren", indem man diese einfach umbenennt, z.B. in error_xxx.php. Dadurch wird automatisch die Joomla-Fehlerseite verwendet.
Weitere Möglichkeiten für das Error Reporting
An dieser Stelle sollen noch die anderen Möglichkeiten für das Error-Reporting erwähnt werden:
Standard: Es wird die PHP-Standardeinstellung verwendet (z.B. die aus der php.ini)
Keine: Es werden keine Fehlermeldungen angezeigt (geeignet, wenn die Seite fehlerfrei läuft)
Einfach: Es werden Warnungen und fatale PHP-Fehler angezeigt
Maximum, Entwicklung: Es werden Hinweise, Warnungen, Fehler und fatale Fehler angezeigt
Zu beachten: Für die detaillierte Fehleranalyse ist unbedingt die Einstellung "Maximum" nötig!