[英]laravel's Session flush and forget methods not working as expected
我嘗試使用以下方法從會話中刪除一個值:
Session::forget('value')
但它沒有刪除!
但是,當我嘗試使用這樣的save
方法時:
Session::forget('value')
Session::save()
它奏效了! (即該值已從會話中刪除。)
請 - 我做錯了什么? 使用Session::flush()
和Session::forget()
時,我沒有在 Laravel 文檔中看到save
方法。
save() 方法將實際執行對文件的寫入。
您的應用程序似乎在將所有請求的內容輸出給用戶之前沒有調用 Session::save() 。
如果未調用此方法,則會話文件將不會使用新值進行更新,並且下次訪問時它們仍將存在。
如果您希望確保刪除或添加內容並且更改仍然存在,請務必始終調用 Session::save()。
完全清除緩存(使用命令行或代碼):
php artisan cache:clear
Artisan::call('cache:clear');
+ 完整會話刷新:
Session::flush();
通過這種方法,您可以清除所有會話數據。
我使用Session::save()
方法可以很好地保存會話數據。 但是當我使用Session::flush()
刷新會話時,它不會清除 Laravel 會話中存儲的所有數據。 Session::forget('value')
可以很好地清除會話特定的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.