Laravel Session 無法儲存取得,_token一直變
- Laravel 10.29
- PHP 8.2
問題:
發現無法取得 Session 值,印出來的 token 一直變一直換
storeage/framework/sessions的檔案持續增加
1 | Session::put('token' , $token); |
反覆測試問題發現每次更新頁面時,_token 都會持續更新
1 | print_r(Session::all()); |
解決方式:
必須要讓他跑到 view 的頁面才會將 session 儲存起來
1
2
3
4Session::put('token' , $token);
Session::get('token'); // null
return view('welcome');Kernel.php 加上 EncryptCookies::class
1
2
3
4protected $middleware = [
...
EncryptCookies::class,
];
或 web.php 加 web middleware
1 | Route::get('/', function () { |
如果以上還不行,可以試看看設定 Timezone,有可能產生session當下已經過期了
1 | 'timezone' => 'Asia/Taipei', |