[PHP-users 2097] Re: セッションの使い方について

Yasuo Ohgaki php-users@php.gr.jp
Sat, 15 Sep 2001 11:32:35 +0900


大垣です。

> session_start();
> を実行すると,その行から下記のメッセージが出ます。
>
> Warning: Cannot send session cookie - headers already sent by
(output
> started at /home/sites/home/web/index.php:2) in
> /home/sites/home/web/index.php on line 5
> Warning: Cannot send session cache limiter - headers already sent
(output
> started at /home/sites/home/web/index.php:2) in
> /home/sites/home/web/index.php on line 5

FAQですが、php.netのFAQには載ってませんね。Output Controlのリファレン
スには説明があります。
http://jp.php.net/manual/en/ref.outcontrol.php

このエラーは“コンテンツを送信しはじめたので、Session用Cookieヘッダー
はもう送れません。”と言う意味です。インクルートしているファイルを含
め、headerを送る前(session_start(), header(), set_cookie()等の前)に
<?php ?>の外に空白行が無いか、print/echoをどこかで使っていないかを調べ
て直します。探すのが面倒であれば、php.iniでOutput Bufferingを有効に設
定するとエラーはなくなります。何故、空白行が問題になるのかは
http://jp.php.net/manual/en/language.basic-syntax.php
を参照するとわかります。

SessionセクションのUser Contributed Notesにも記述があると思います。他
にも参考になるNoteが沢山あるのでNoteも参考にされてはどうでしょうか?
http://jp.php.net/manual/en/ref.session.php

--
Ohgaki, Yasuo (大垣 靖男) 
Mail: yohgaki@dd.iij4u.or.jp