PHP は警告を完全に排除します: ヘッダー情報を追加できません - ヘッダーはすでに送信されています...
解決策:
1) PHP.INI を編集する権限を持つユーザーに適用されます
php.ini ファイルを開き (試験を受けるとき、php.ini がどこにあるのか私よりもよく知っているでしょう)、
を見つけます。output_buffering = on または任意の数値に変更します。IIS6 の場合は、ON に変更してください。そうしないと、PHP の効率が非常に遅くなります。
2) 仮想ホストの使用時に PHP.INI を編集できない場合はどうすればよいですか?
シンプル:
スペースのルート ディレクトリに次の内容の .htaccess ファイルを作成します:
AllowOverride All
PHP_FLAG Output_buffering On
残念な状況は次のとおりです: まだすべての Web ページが表示されませんか?
その後、スペースプロバイダーに電話して叱り、Apache の .htaccessAllowOverride をオンにしてもらうように依頼できます
3) PHP ファイルで解決します
ob_start()
出力バッファリングメカニズムを有効にします。出力バッファリングは複数のレベルをサポートします。たとえば、ob_start() 関数は複数回呼び出すことができます。
ob_end_flush()
出力バッファ (出力バッファリング) を送信し、出力バッファリング メカニズムを無効にします。
ob_end_clean()
出力バッファを送信せずにクリアし、出力バッファリングを無効にします。
ob_get_contents()
現在の出力バッファを文字列に返します。スクリプトによって出力された出力を処理できます。
原則:
output_buffering が有効な場合、 スクリプトが出力を送信するときに、PHP は HTTP ヘッダー を送信しません。代わりに、この出力を動的に増加するキャッシュにパイプ処理します (集中出力メカニズムを持つ PHP 4.0 でのみ使用可能)。 ヘッダーは実際には送信されないため、ヘッダーを変更/追加したり、Cookie を設定したりすることができます 。すべてのスクリプトが終了すると、PHP は自動的に HTTP ヘッダーをブラウザーに送信し、出力バッファーの内容を送信します。
転載元を必ず明記してください: www.phpv.net