之前用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等都是可以的。