这个问题不是session丢失,而是一个域名下的所有子域名会话共享的问题。 由于后端PHP设置session存储数据以后,为了维持会话状态,响应头中会写入sessionid到cookie中存储,但是默认的cookie Domain属性是当前域名,所以两个域名就有两个sessionid 如果你的登录操作在login.domain.com中成功后user_id写入session,默认的cookie Domain为login.domain.com,而你在www.domain.com想取到login下存储的user_id,解决办法很简单,如下即可 php.ini中全局配置 session.cookie_domain = .domain.com ini_set函数设置 ini_set('session.cookie_domain','.domain.com');
这个问题不是session丢失,而是一个域名下的所有子域名会话共享的问题。
由于后端PHP设置session存储数据以后,为了维持会话状态,响应头中会写入sessionid到cookie中存储,但是默认的cookie Domain属性是当前域名,所以两个域名就有两个sessionid
如果你的登录操作在login.domain.com中成功后user_id写入session,默认的cookie Domain为login.domain.com,而你在www.domain.com想取到login下存储的user_id,解决办法很简单,如下即可
php.ini中全局配置
ini_set函数设置