[PHP-users 29916] Session使用時にsetcookie()を使用した場合の動作に付いて

Yoshitake Shinohara yoshi @ yyn.jp
2006年 8月 1日 (火) 10:20:00 JST


よしたけと申します。
御無沙汰しております。

PHP 4.3.10での動作です。

下記のサンプルコードを実行して頂いた場合、常に「$_SESSION["Count"]」が1になります。

<?php
  session_start();
  $_SESSION["Count"]++;
  setcookie("Count",$_SESSION["Count"]);
?>
<html>
  <body>
    ACCESS:<?php echo $_SESSION["Count"]; ?><br>
  </body>
</html>

調べた結果、setcookie()関数を使用すると、session_start()で付加されるはずのCookie
が付かない様です。
明示的に「setcookie(session_name(),session_id());」を実行してあげないと意図した
動作になりません。
もちろん、setcookie()を一切使用しなければ、Session_IDはCookieに保存されます。

この動作は仕様でしょうか?
マニュアルを読む限りではみつかりませんでした。
bug reportは。。。件数多くて一通り見ましたけど見逃してる可能性大です(^^;

よろしくおねがいします。


PHP-users メーリングリストの案内