【PHP】サブドメインに親ドメインのセッション情報を引き継ぐには

親ドメインのセッション情報が、サブドメインに引き継がれないのは、クッキーの有効範囲にサブドメインが含まれていないため。(IEだとOKなのに、safariやfirefoxだとNGになるものこのケースが当てはまる)

サブドメインにもセッション情報を引き続きたい場合は、一番最初にクッキーを作る段階で「サブドメインにも有効なクッキー」を作る必要がある。

やり方は、クッキーが作られるドメインのphp.iniに次の記述をすればいい。

session.cookie_domain = “.example.com”

この記述があるphp.iniファイルのドメイン下で作られたクッキーは、すべてのサブドメインでも有効になる。ドメイン先頭のドット「.」を忘れないように。

あと、動作確認をするときは、必ずクッキーをクリアしてから行うこと。ログアウト→再ログインとかでは不十分。

タイトルとURLをコピーしました