ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルでヘッダー情報を変更できない問題の完全な解決策
このような記述については、インターネットで調べてみると、その理由は setcookie であることは明らかです。 Cookie 自体には、次のような使用上の制限があります。
1. setcookie を呼び出す記述は、次のとおりです。 2. setcookie を呼び出す前に Echo を使用することはできません 3. Web ページがリロードされるまで Cookie はプログラムに表示されません 4. setcookie 関数は、データがブラウザに出力される前に送信する必要があります
5....
上記の制限に基づいて、setcookie() 関数を実行すると、「インデックスが未定義」、「ヘッダー情報を変更できません - ヘッダーは既に送信されています」などの問題が発生することがよくあります。 「ヘッダー情報を変更できません - ヘッダーはすでに送信されました」という問題... このエラー「送信者」の解決方法は、Cookie を生成する前にブラウザへのデータの出力を遅らせることです。そのため、ob_start() を追加できます。 ; プログラムの先頭にある関数。これで解決します。 ob_start() を追加したい場合、プログラムを作成した後にこれを変更するのは少し気が滅入ります。このエラーが表示されたことを知ったとき、なぜ私のローカル コンピュータではこのエラーが表示されなかったのか疑問に思いました。問題は、PHP.ini の設定が違うのだと思っていましたが、よく考えると違うようです。次の文「output starting at....」を見てください。 setcookie の前に別の場所に出力があることがわかりました。そこで、次の出力が開始されているのを見つけました。最初の行が空白で、その後、解決策 2:
オンラインで見つかったこの問題を解決する方法は次のとおりです。ほぼ同じですが、今日もそのような問題に遭遇しました。試してみたところ、うまくいくことがわかりました。
C ドライブの WINDOWS で php.ini 設定ファイルを見つけて、output_buffering という項目を検索し、その値を off から on に変更し、Apache を再起動すれば問題ありません。
http://www.bkjia.com/PHPjc/318924.html