session使用註意點 工作中使用的是session預設的文件緩存 在使用過發現 session()->put("key","values") 發現 沒有設置成功 最後翻源碼發現是使用文件緩存時候需要使用save() 方法才能持久化到資料庫中 源碼:vendor/laravel/framework ...
- session使用註意點
工作中使用的是session預設的文件緩存 在使用過發現 session()->put("key","values") 發現 沒有設置成功 最後翻源碼發現是使用文件緩存時候需要使用save() 方法才能持久化到資料庫中
源碼:vendor/laravel/framework/src/Illuminate/Session/Store.php
/** * Save the session data to storage. * * @return bool */ public function save() { $this->ageFlashData(); $this->handler->write($this->getId(), $this->prepareForStorage( serialize($this->attributes) )); $this->started = false; }
由於使用文件緩存 因此write方法調用的源碼:vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php
/** * {@inheritdoc} */ public function write($sessionId, $data) { $this->files->put($this->path.'/'.$sessionId, $data, true); return true; }
如果有什麼問題或者疑問歡迎留言