[PHP-users 29079] Re: header("Location: ...php")でリダイレクトするとセッションIDが変わるのはなぜ?

磯崎 慎一郎 [PLEA mediamix I 磯崎 慎一郎 [PLEA mediamix I
2006年 4月 22日 (土) 14:00:12 JST


西村さん、お返事ありがとうございます。
イソザキです。

> 同一のサーバなら、同じセッションIDになりますが、
> 異なるサーバの場合は、違う手を考えなければなりません。

同一サーバー内での現象です。

┌─────┐
│データ入力│
└─────┘
  ↓
┌──────────────────┐
│入力値によってリダイレクト先を変える│
└──────────────────┘
  ↓
┌──────┐
│処理結果出力│
└──────┘

この一連の処理変遷においてそれぞれの過程でセッションIDを検証しているのですが、
「結果出力」のところでセッションIDが変わってしまっています。
session_start()関数は常に先頭行で宣言しています。

以下はphp.iniです。
session.auto_start            Off                Off 
session.bug_compat_42           On                 On 
session.bug_compat_warn         On                 On 
session.cache_expire            180                180 
session.cache_limiter           nocache            nocache 
session.cookie_domain           no value           no value 
session.cookie_lifetime         0                  0 
session.cookie_path             /                  / 
session.cookie_secure           Off                Off 
session.entropy_file            no value           no value 
session.entropy_length          0                  0 
session.gc_divisor              100                100 
session.gc_maxlifetime          1440               1440 
session.gc_probability          1                  1 
session.hash_bits_per_character 4                  4 
session.hash_function           0                  0 
session.name                    PHPSESSID          PHPSESSID 
session.referer_check           no value           no value 
session.save_handler            files              files 
session.save_path               E:\PHP\sessiondata E:\PHP\sessiondata 
session.serialize_handler       php                php 
session.use_cookies             On                 On 
session.use_only_cookies        Off                Off 
session.use_trans_sid           0                  0 

どなたか原因のわかる方、教えていただけないでしょうか?



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