headers already sent …
2007/11/06 | PHPで遭遇した問題とその解決
WordPressカスタマイズのお仕事をしていて・・・。
他のURLへリダイレクトする必要がある処理が出てきた。リダイレクトの処理は当然header関数を使用するわけなのだが・・・。
なんとしたことか「modify header information – headers already sent by …」なんてミスをやってしまった。ちなみにこのプログラム、実際に出力処理はしているのだが、ファイルの最初でob_start関数を実行し、出力を抑制している。にもかかわらず、エラーが出る。なんで?。
どうしても理由がわからないので、ファイルの一番最初にheader関数をもってきた。しかしそれでもエラー。なんで?、なんで?。
実はプログラムは何も悪くなかった。原因はBOM。ファイルを保存する際に誤ってBOMつきUTF-8で保存してしまったことが原因だった。
こんなところでもBOMではまってしまった・・・。