osCommerce Knowledge Base
Warning: Cannot add header information - headers already sent by | Zuletzt aktualisiert: 14th May, 2004 Beitrag ID: 142 |
- Überblick
- Lösungsvorschlag
Überblick
Warning: Cannot add header information - headers already sent by (output started at
.../foo.php:n) in ...catalog/includes/functions/general.php on line 29
.../foo.php:n) in ...catalog/includes/functions/general.php on line 29
Obige Warnung tritt immer dann auf, wenn vor dem Aufruf der header-Funktion eine Ausgabe “gesendet” wurde. Bei der Ausgabe kann es sich um Leerzeichen, Zeilenumbrüche, Zeichenketten etc. handeln.
Obwohl die eigentliche Warnung erst beim Aufruf von header() in Zeile 29 der general.php erzeugt wird, ist die Ursache in der Datei foo.php in Zeile n zu suchen.
Am häufigsten ist der Umstand anzutreffen, daß sich hinter dem schließenden PHP-Tag (?>) ein (Steuer-)Zeichen eingeschlichen hat. Dieses Zeichen wird sofort “gesendet”, und sorgt dafür, daß der spätere Aufruf der header-Funktion fehlschlägt.
Lösungsvorschlag
Anhand eines Beispiels zeigen wir, wie das Problem entsteht und wie man es wieder beheben kann. Betrachten wir folgende Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at ...catalog/includes/application_top.php:509) in ...catalog/includes/functions/general.php on line 29
Laut Fehlermeldung wird in der Datei includes/application_top.php in Zeile 509 eine Ausgabe erzeugt. Ein Blick in die entsprechende Zeile verrät die Ursache:
502 // set which precautions should be checked
503 define('WARN_INSTALL_EXISTENCE', 'true');
504 define('WARN_CONFIG_WRITEABLE', 'true');
505 define('WARN_SESSION_DIRECTORY_NOT_WRITEABLE', 'true');
506 define('WARN_SESSION_AUTO_START', 'true');
507 define('WARN_DOWNLOAD_DIRECTORY_NOT_READABLE', 'true');
508 ?>
509 a
Hinter dem schließenden PHP-Tag befindet sich das Zeichen 'a'. Nachdem es entfernt wurde, verschwindet die Fehlermeldung.
Verwandte Artikeln
