php彻底根绝warning: Cannot add header information - headers already sent in.

WBOY
リリース: 2016-06-13 13:02:59
オリジナル
822 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート