Benutzer-Werkzeuge

Webseiten-Werkzeuge


php

PHP

Cannot modify header information - headers already sent

Dieser Fehler tritt auf, wenn der HTML-Header modifiziert werden soll, er aber schon gesendet wurde. Er wird automatisch gesendet, wenn eine Ausgabe via PHP gemacht wird. Das kann mehrere schwer zu findende Ursachen haben:

  • Leerzeichen oder -zeilen vor oder nach dem PHP-Tag
  • Editoren, die bei UTF8 kodierten Dateien Zeichen zur Markierung der Byteorder (BOM) hinzufügen
  • Ausgaben oder Fehlermeldungen mit print oder echo

display_errors auf der Kommandozeile

Um die Anzeige von Fehlern auf der Kommandozeile (CLI) zu unterdrücken, ist es nicht ausreichend display_errors auf Null zu setzen. Es muss zusätzlich auch error_log auf eine Datei oder /dev/null gesetzt werden:

ini_set('display_errors', 0);
ini_set('error_log', '/dev/null'); //no log at all
//or
ini_set('error_log', 'log/error.log'); //use log file
php.txt · Zuletzt geändert: 2018/02/23 18:23 von olli