簡體   English   中英

laravel 的會話刷新和忘記方法沒有按預期工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM