Valószínűleg már Ti is belefutottatok az alábbi hibaüzenetbe, ami azt takarja, hogy a header-t nem lehet már módosítani, mert valami már kiment az output-ra. Jobb esetben a <?php nyitótag előtti sortörés, space vagy tartalom, illetve a nyitótag utáni echo, print… stb. okozza a problémát, ami könnyen eliminálható. Előfordulhat azonban, hogy egyetlen árva karakter sem kerül ki az outputra mégis a címben szereplő hibát kapjuk. Ma ebbe az esetbe futottam bele én is, szerencsére sikerült előkeríteni a hiba okát, ami elég nagy frusztrációt okozott 🙂
Az UTF-8 karakterkódolású fájlok esetén bárminemű tartalom előtt megjelenhet egy BOM (byte order mark) karakter, amely jelzi, hogy a fájlban található szöveg unicode. Ez a karakter 0 szélességű ezáltal nem látszik sehol. A hiba megoldása mindössze ezen karakter eltávolítása. Ezt tudja pl. a Notepad++ (Karakterkódolás -> Átalakítás UTF-8 kódolásra BOM nélkül).