關於laravel無法獲取session的問題解決
情況一、前端如果使用axios,需要開啟withCredentials:true,並且在后端配置頭信息
頭信息參考:
$origin = 'http://127.0.0.1:80,http://127.0.0.1:81'; //多個用‘,’隔開
header('Access-Control-Allow-Origin:' . $origin); //axios請求時,不讓用‘*’
header('Access-Control-Allow-Credentials: true'); //是否支持cookie跨域
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS'); //laravel需要的提交方法
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
情況二、檢查session是否成功生成,可以看看session文件是否生成(默認session目錄:storage/framework/sessions/)
注意:session()->put()后需要session()->save()才會生成session文件
情況三、 如果跨路由訪問,還需要檢查路由模塊是否開啟session中間件,沒有就手動添加
打開:app/Http/Kernel.php,在里面添加session的中間件
```
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
```
效果: