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:
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 bietet leider keine eingebaute Unterstützung für UTF-8 Strings. Daher ist die Verwendung und Verarbeitung umständlich.
Für das Formatieren und Parsen von lokalisierten Zeit- und Datumswerten kann die Klasse DateFormatter verwendet werden. Für eine noch flexiblere Behandlung gibt es ab PHP 8.1 zusätzlich die Klasse DatePatternGenerator.