In dieser Anleitung erfahren Sie, was Sie tun können, wenn das Einloggen in das Joomla-Backend nicht möglich ist und auf Ihrer Website Warnmeldungen zu session_start(), headers already sent oder Cannot modify header information angezeigt werden.
Fehlermeldungen prüfen
Typische Fehlermeldungen können zum Beispiel so aussehen:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/login/configuration.php:1) in /home/login/libraries/joomla/session/session.php on line 423 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/login/configuration.php:1) in /home/login/libraries/joomla/session/session.php on line 423 Warning: Cannot modify header information - headers already sent by (output started at /home/login/configuration.php:1) in /home/login/libraries/joomla/session/session.php on line 426
1. Ursache prüfen
Die häufigste Ursache ist ein sogenanntes Byte Order Mark, kurz BOM, am Anfang der Datei configuration.php.
Ein BOM kann entstehen, wenn die Datei mit einem ungeeigneten Editor bearbeitet wurde. Das Zeichen ist in normalen Editoren und im Browser meist nicht sichtbar. Dadurch kann Joomla bereits vor dem eigentlichen PHP-Code eine Ausgabe erzeugen. Das führt anschließend zu den genannten Session- und Header-Fehlermeldungen.
2. configuration.php korrigieren
- Öffnen Sie die Datei configuration.php mit einem geeigneten Editor, zum Beispiel Notepad++.
- Stellen Sie sicher, dass die Datei als UTF-8 ohne BOM gespeichert wird.
- Speichern Sie die Datei erneut.
- Laden Sie die Datei wieder auf den Server hoch.
- Prüfen Sie anschließend, ob der Login in das Joomla-Backend wieder funktioniert.
3. Leerzeichen und Zeilenumbrüche prüfen
Eine weitere mögliche Ursache sind Leerzeichen oder Zeilenumbrüche außerhalb des PHP-Codes.
- Prüfen Sie die zuerst ausgeführten PHP-Dateien, insbesondere die Datei configuration.php.
- Entfernen Sie Leerzeichen oder Zeilenumbrüche vor dem öffnenden PHP-Tag <?php.
- Entfernen Sie Leerzeichen oder Zeilenumbrüche nach einem schließenden PHP-Tag, falls ein schließendes PHP-Tag vorhanden ist.
- Speichern Sie die Datei erneut und laden Sie sie wieder auf den Server hoch.
Wenn die Datei korrekt als UTF-8 ohne BOM gespeichert wurde und keine Leerzeichen oder Zeilenumbrüche außerhalb des PHP-Codes vorhanden sind, sollte der Login in das Joomla-Backend wieder funktionieren.