[PHP-users 11227] Re: セッションの受渡しについて

WADA Masashi php-users@php.gr.jp
Thu, 31 Oct 2002 17:13:12 +0900


 和田です。

mai wrote:
>そこで、session.phpを以下のように書き換えてためしたところ、
>
>--出力結果--------------
>セッションを追加 testid01:1
>セッションを追加 testid02:1
>セッションを追加 testid03:1
>------------------------
>
>の、ように出力され、チェック項目が反映されたので
>変数の受渡しはできているようです。たぶん・・・。

 file1.php から session.php には POST のデータが確かに受け渡さ
れているようですね。とすると、session.php で $HTTP_SESSION_VARS
に登録した値が、なぜ file2.php で参照できないのかが問題です。
 そこで file2.php の session_start(); の後(かつ<body>を表示した
後)に、

    var_dump($HTTP_SESSION_VARS);

を実行してみて、$HTTP_SESSION_VARS の内容を表示してみたらどうな
るでしょうか? セットした変数と値が表示されていなければ、PHP 側
でセッション変数が正常にハンドリングされていない可能性があります。

 php.ini を参照して session.save_path で設定されているパスに
(デフォルトは /tmp のはずです)次のようなファイルが生成されてい
るかどうか確認してみましょう。生成された日付も要チェックです。

    sess_53a0ad3a269be1f2f4d652119ba7b008

このファイルの中に、セッションで保存されている変数が書込まれてい
るはずです。しかしレンタルサーバーでは、こういったファイルを直接
参照することができないかもしれません。

 あとは phpinfo() で表示される情報の中から Session のセクション
を参照してみてください。そもそもここで

    Support  enabled

になっているでしょうか? さらに、セッションに関するパラメータ
session.* を見て、セッションの利用を疎外しているような設定がされ
ていないか確認してみましょう。
#cookie の利用が制限されているとか・・・

----
和田雅志 (WADA Masashi)
wada@hh.iij4u.or.jp