-2

重複の可能性:
PHP によって既に送信されたヘッダー

私はphpバージョン5.4.4を持っています

私はこのコードを持っています

echo "a";
session_start();
$_SESSION['login'] = "Jhon";
echo $_SESSION['login'];

これはうまくいきます、なぜですか?エラーはどこにありますか:「ヘッダーは既に送信されています....」???

4

3 に答える 3

4

簡単に言えば、出力バッファリングがオンになっているため、スクリプトがこのように機能することが保証されます。ただし、他のサーバーではデフォルトで出力バッファリングがオンになっていない可能性があるため、それに依存することはお勧めしませんオフにしたい場合は (私はそうします)、php.iniのoutput_bufferingディレクティブをに変更します。0

于 2012-09-26T09:29:50.470 に答える
1

出力がブラウザに送信されると(スペースであっても)、ヘッダー情報をブラウザに送信することはできません
。新しいセッションを開始すると(session_startを使用)
、セッションCookieがサーバーからブラウザに送信され、このCookieは
基本的にカプセル化されます。応答ヘッダー内。

php関数headers_sent()を使用して、ヘッダーがすでに送信されているかどうかを確認できます。

于 2012-09-26T09:43:38.520 に答える
-1

あなたのコードはうまく機能しましたが、echo ステートメントの前に session_start() を使用してみることができます。

于 2012-09-26T09:56:42.133 に答える