Was bedeutet 'headers already sent'?

Gelegentlich kommt es vor, daß einem phpBB (oder ein anderes PHP-Script) folgende Fehlermeldung Präsentiert:
Warning: Cannot modify header information - headers already sent by (output started at /irgendwo/meine/homepage/phpBB/index.php:10) in /irgendwo/meine/homepage/phpBB/includes/functions.php on line 4502

Die Ursache dieses Fehlers liegt darin, daß versucht wird, die Header-Informationen zu bearbeiten, nachdem bereits normale Ausgabe erfolgt ist. Diese Header-Informationen können z.B. Cookies, Weiterleitungen oder Cache-Unterdrückungen sein. Die HTML-Ausgabe muss nicht immer gewollt sein, selbst sogenannter Whitespace (leere Zeilen, Tabulatoren, Leerzeichen) kann die Ursache sein.

Glücklicherweise liefert diese Fehlermeldung bereits alle Informationen, die zum Auffinden des Fehlerhaften Codes nötig sind, mit:
  • Datei mit Header-Informationen: In dieser Datei befindet sich der Code zum Modifizieren der Header-Informationen (in dieser Zeile). In der Regel handelt es sich dabei um header() oder setcookie() Befehle.
  • Datei mit HTML-Ausgabe: In dieser Datei befindet sich die HTML-Ausgabe (in dieser Zeile ). Falls dies die letzte Zeile in der Datei ist, befindet sich dort entweder eine ungewollte Leerzeile hinter '?>' (einfach löschen) oder die Datei wurde im falschen Modus hochgeladen (siehe Binär (BINARY) != ASCII Was man bei dem Upload des Forums beachten sollte). Andernfalls solltest du den Code von dieser Stelle hinter die letzte header() oder setcookie() Anweisung verschieben.

Wenn du diesen Fehler erhältst, während du eine Seite nach der Vorlage für in phpBB eingebunde Seiten aufbaust, hast du den Code vermutlich nicht ganz am Anfang deiner Seite eingebaut - selbst <html> oder Kommentare dürfen vorher nicht ausgegeben werden.

Zuletzt bearbeitet: 23.03.2014 15:52 von • Der Artikel wurde 44132 mal angeschaut.