在主域和子域之间保持会话信息

时间:2011-01-21 18:54:17

标签: php session

我想知道是否可以保留主域和子域之间的会话信息。例如,我在http://www.mydomain.com/上登录,但我想在http://something.mydomain.com/上使用相同的会话。

2 个答案:

答案 0 :(得分:3)

使用session_set_cookie_params()

session_set_cookie_params ( $lifetime , '/', '.yourdomain.com');

注意,域以点开头。这意味着,会话cookie对每个子域都有效!

http://php.net/manual/en/function.session-set-cookie-params.php

答案 1 :(得分:0)

是的,如果可以从两个域(例如同一服务器)访问会话数据,并且如果两个域使用相同的会话ID,则可以在两个域中共享同一会话。

对于会话ID,如果您使用Cookie作为会话ID,则需要调整session cookie’s domain parameter以使Cookie在两个域上都可用(例如{em} .example.com。 com 及其所有子域名:

ini_set('session.cookie_domain', '.example.com');