{"id":185,"date":"2018-03-18T17:52:09","date_gmt":"2018-03-18T16:52:09","guid":{"rendered":"http:\/\/test.ekiwi.de\/?p=185"},"modified":"2018-03-18T17:52:36","modified_gmt":"2018-03-18T16:52:36","slug":"headers-already-sent-fehler-in-php","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/185\/headers-already-sent-fehler-in-php\/","title":{"rendered":"Headers already sent &#8211; Fehler in PHP"},"content":{"rendered":"<p>Manche PHP-Probleme sind schwer einzugrenzen. Nehmen wir z.B. das folgende Script:<\/p>\n<p><!--more--><\/p>\n<pre>\r\n&lt;?php\r\nheader('Location: http:\/\/www.ekiwi.de');\r\n?&gt;\r\n<\/pre>\n<p>Dieses sollte beim Aufruf einfach auf eKiwi.de weiterleiten. Abgespeichert, hochgeladen und passieren tut nix oder es wird ein Fehler ausgegeben:<\/p>\n<pre>PHP Warning:  Cannot modify header information - headers already sent by (output started at test.php:1)<\/pre>\n<p>Ein m\u00f6glicher Grund ist die Art und Weise wie die Datei abgespeichert worden ist. Die Datei war als UTF-8 abgespeichert, allerdings mit BOM. BOM?<\/p>\n<p><iframe loading=\"lazy\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/xzTn-is_vYQ\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>BOM steht f\u00fcr Byte Order Mark. Wird die Datei so abgespeichert, werden die ersten drei Bytes (der BOM) f\u00fcr die Kodierungsinformationen verwendet. Texteditoren k\u00f6nnen somit erkennen, dass die Datei mit UTF kodiert ist. Diese Zeichen werden normal auch nicht angezeigt. <\/p>\n<p>Im Falle von PHP k\u00f6nnen hier allerdings Probleme auftauchen. Die Zeichen werden ausgeben und verursachen den oben dargestellten Fehler.<\/p>\n<p>Die L\u00f6sung ist recht einfach, man speichert die Datei einfach ohne BOM ab. Statt:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2018\/03\/header_sent_1.png\" alt=\"\" width=\"363\" height=\"320\" class=\"alignnone size-full wp-image-186\" srcset=\"\/wp-content\/uploads\/2018\/03\/header_sent_1.png 363w, \/wp-content\/uploads\/2018\/03\/header_sent_1-300x264.png 300w\" sizes=\"auto, (max-width: 363px) 100vw, 363px\" \/><\/p>\n<p>w\u00e4hlt man in Texteditoren wie Notepad++ UTF-8 ohne BOM aus:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2018\/03\/header_sent_2.png\" alt=\"\" width=\"337\" height=\"148\" class=\"alignnone size-full wp-image-187\" srcset=\"\/wp-content\/uploads\/2018\/03\/header_sent_2.png 337w, \/wp-content\/uploads\/2018\/03\/header_sent_2-300x132.png 300w\" sizes=\"auto, (max-width: 337px) 100vw, 337px\" \/><\/p>\n<p>Anschlie\u00dfend sollte das Script laufen.<\/p>","protected":false},"excerpt":{"rendered":"<p>Manche PHP-Probleme sind schwer einzugrenzen. Nehmen wir z.B. das folgende Script:<\/p>\n","protected":false},"author":1,"featured_media":188,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[14],"tags":[],"class_list":["post-185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=185"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/185\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/188"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}