之前用thinkPHP5開發接口的時候,碰到這麼一個問題,用瀏覽器測試的api再用postman或者是腳本去訪問就會出現重新登錄的問題,後來看了一下session裏面的內容,發現腳本和postman沒有辦法訪問到對應的session,這樣就很難受,最後經過大佬指點,才知道了thinkPHP5裏面的session就是給瀏覽器用的,非瀏覽器的方式是沒有辦法訪問到那個session的,只能用cache的方式來代替session,僅此做一個記錄。
第一種:show方法是設置session,user是獲取session。這樣寫user方法在瀏覽器是可以獲取到session的,但是通過ajax是無法獲取的。
第一種:這個方式瀏覽器可以獲取到session,但是ajax卻獲取不到
public function show()
{
Session("phone","18201025114");
}
public function user()
{
exit(Session("phone"));
}
第二種:完美替代session解決方案,
public function showac()
{
exit(Cache::get('phone'));
}
public function user()
{
Cache::set('phone','182010251',3600);
exit(Cache::get('phone'));
}
第三種:完美替代session解決方案,存到數據庫、memcache等都是可以的。