Cannot modify header information…

Nachdem ich, wie in dem Artikel gestern beschrieben, das PHP-Skript functions.php über Notepad++ erstellt hatte, aktivierte ich meine Design-Anpassungen. Als ich das Design-Menü verlassen hatte und einen weiteren Artikel schreiben wollte, erhielt ich die typische PHP-Fehlermeldung „Cannot modify header information – headers already sent by…“. Sucht man mit einer Phrase der Fehlermeldung bei Google, so gelangt man zu vielen ausführlichen Beschreibungen der möglichen Ursachen. Auf eine Ursache wird aber wenig bis gar nicht eingegangen, weshalb ich hier darauf hinweise. Das Stichwort ist „Zeilenumbruch“. Denn zwischen Windows- und Unix-Textdateien besteht darin ein wesentlicher Unterschied. Diesen Unterschied kann man bei Notepad++, wenn man Ansicht – Nicht druckbare Zeichen – Alle Zeichen anzeigen aktiviert, schnell erkennen. Bei Unix-Texten werden Zeilen über LF (engl. line feed) umgebrochen. Bei Windows-Texten braucht es dazu die zwei Zeichen CR (engl. carriage return) und LF. Bei den meisten Providern wird für PHP und MySql eine Unix/Linux Umgebung eingesetzt. Da es sich auch bei meinem Provider um eine Linux-Umgebung handelt, konvertiere ich grundsätzlich meine PHP-Skripts über Notepad++ Bearbeiten – Zeilenende – Konvertiere zu UNIX. Auch sollte dabei auf die ANSI Kodierung geachtet werden. Denn unter Windows werden Texte gerne in der UTF-8 Kodierung abgespeichert. Ja und nicht zuletzt sollte nach dem letzten ?> nur ein LF folgen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.