首先,明確以下概念
session與cookie都是為了解決http協(xié)議無狀態(tài)而誕生的,由客戶端瀏覽器保存記錄一些請求信息,下次再去發(fā)http請求的時(shí)候,把記錄在瀏覽器中的cookie讀取出,發(fā)到服務(wù)器上。 session是在服務(wù)器端也對應(yīng)保存一份信息,當(dāng)下次發(fā)http請求時(shí)根據(jù)cookie帶來的session ID去讀取到這部分信息。
遇到問題,session id的生成,一般根據(jù)瀏覽器、域名等生成,所以,遇到諸如 xx.hot-tea.cm 與xxx.xxx.hot-tea.cn ?如果session記錄是在xx.hot-tea.cn時(shí),正常 去xxx.xxx.hot-tea.cn是拿去不到這個(gè)session的,應(yīng)該session ID的不同。
解決辦法:
1、修改php.ini?
找到?session.cookie_domain = .youdomain.com ? //將.youdomain.com配置為你的二級域名
2、在項(xiàng)目最開始的地方初始化配置session域
ini_set('session.cookie_domain',"..youdomain.com");//跨域訪問Session
查看瀏覽器獲取session的id ?可以看到,兩個(gè)域名的id一致
以上,二級域名下的子域名既可以共享session.

