![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/Suiram27/1530718779267_nmmslarge__0_0_400_400_a7448469a17c2ce8ed07251058ff274b.jpg?v=1530718781000)
Du hast eine Ausgabe im Skript, irgendwo bevor die header Funktion aufgerufen wird, die musst du aufspüren und beseitigen. Also vermutlich ein echo, print, var_dump oder ähnliches. Möglicherweise befindet sich irgendwo vor den öffnenden PHP Tags (<?PHP) oder nach einem schließenden auch ein Whitespace- oder Leerzeichen, das übersieht man schon Mal. Überprüfe auch das Encoding deiner Datei, womöglich hast du sie mit einem BOM gespeichert, das sind 2 oder auch 3 Byte am Anfang der Datei, die dazu da sind, um die Byte-Reihenfolge anzugeben (die sieht man auch nicht). Sowas braucht man eigentlich nicht mehr, ist eher ein Legacy Konstrukt. Um sicher zu gehen, schau dir deine PHP Datei mit einem Hex Editor an, ich kann HxD sehr empfehlen. Wenn die ersten Bytes aus "EF BB BF", "FE FF" oder "FF FE" oder einer anderen unerwarteten Sequenz besteht, ist das vermutlich ein BOM. Alternativ Mal mit Notepad++ öffnen, das erkennt idR das Datei Encoding recht zuverlässig, und wenn dort UTF8/UTF16/UTF32 mit BOM steht, solltest du sie konvertieren, zum entsprechenden Zeichensatz aber eben ohne BOM. Das beste was du machen kannst (sagen wir der beste Kompromiss) ist, Dateien in UTF-8 ohne BOM abzulegen.
Rauszufinden wo ein Output stattfindet, kann eine nervtötende Suche sein, aber jetzt hast du ein paar Anhaltspunkte die dir helfen sollten, dieser Ursache auf die Spur zu kommen :)