気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. 人気記事
  2. 61 view

「headers already sent」と表示されるとき

headers already sent」という警告メッセージは、スクリプトの途中でheader関数を実行したときなどに表示されます。つまり、header関数より前では何も出力しないようにということです。

ただし、「header関数は1行目で実行しましょう」ということではないので、注意してください。header関数より前でecho文で何かを出力したり、HTMLタグを記述しないようにということです。

何も出力していないのにこのメッセージが表示されるときは、スクリプトファイルの先頭に無駄な空白行がないか調べましょう。また、次のように記述しても、header関数の実行前に改行コードが出力されるので、「headers already sent」という警告メッセージが表示されます。

<?php

header("Content-Type: text/html; charset=UTF-8");

○実行結果

Warning: Cannot modify header information – headers already sent by (output started at C:…

次のように修正すると、Warning(警告)は表示されなくなります。

<?php
header("Content-Type: text/html; charset=UTF-8");

それも身に覚えがないという方。ファイルの文字コードをBOM付きのUTF-8で保存した場合、このメッセージが表示されます。保存するときに「BOMなし」の設定で保存してください。

よくあるPHPのエラーやミスは、こちらの本で紹介しています。参考にしてください。


PHP「直す力」養成ドリル

人気記事の最近記事

  1. 「Notice: Use of undefined constant」と表示されるとき

  2. PHPのエラー・警告・注意の違いとは

  3. 「Duplicate entry ‘1’ for key R…

  4. WordPressテーマの「while (have_posts()) : the_post…

  5. PHPでカレンダーを作成しよう

関連記事

PAGE TOP