修改一个文件 :
vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php
找到getSession()方法
public function getSession(Request $request) { return tap($this->manager->driver(), function ($session) use ($request) { if ($request->cookies->get('PHPSESSID')) { $sessionId = $request->cookies->get('PHPSESSID'); } else { $sessionId = $request->cookies->get($session->getName()); } $session->setId($sessionId); }); }
原理差不多就是:
小程序在服务器登陆之后,服务器把phpssid返回给小程序,小程序把拿到的phpssid放到缓存里
然后小程序每次跟服务器通信的时候,都先把phpssid放在头部的cookie里
这样服务器就能知道这个会话是谁的,从而保持会话