項(xiàng)目中的登錄模塊需要使用到session來保存用戶的登錄態(tài)蝉绷,但是設(shè)置之后在另外的控制器中就獲取不到叫倍,幾番尋找終于解決
起因測試
在index/controller/index方法中
$session = session('test','session'); // 設(shè)置session
dump(session('test')); // 打印 'session'
登錄控制器api/member/login方法中
$session = session('test'); // 獲取session
dump($session); // 打印 bool(true)
為啥?佩厚?
起碼也要給我返回個(gè)null或者false啥的姆钉,給個(gè)true還真是讓人摸不著頭腦
解決
根據(jù)多方消息,得到一下多種解決方案
- 修改 php.ini 中 session.use_trans_sid = 1抄瓦,無效果
- ajax配置
xhrFields: {
withCredentials: true
},
crossDomain: true
axios配置
axios.defaults.withCredentials = true;
好像也不行
最后在控制器中添加
header("Access-Control-Allow-Origin: *");
就可以了潮瓶,按理說前端設(shè)置header頭應(yīng)該也可以
基于這套,對tp的Cache也適用