2016-06-08 184 views
2

我有一個Laravel身份驗證問題,我已經提出了一個關於它的問題here。在考慮了多個可能錯誤的事情之後,我檢查了會話是否有問題。沒有會話持久性Laravel

\Session::set('variableName', 1); 
\Session::save(); 
var_dump(\Session::get('variableName')); 

如果我執行一個HTTP請求上面的代碼,得到的回報價值,但如果我嘗試\會議::它返回null不同的HTTP請求得到(「VARIABLENAME」)。

我的配置/ sessions.php:

return [ 

    'driver' => env('SESSION_DRIVER', 'file'), 

    'lifetime' => 120, 

    'expire_on_close' => false, 

    'encrypt' => false, 

    'files' => storage_path('framework/sessions'), 

    'connection' => null, 

    'table' => 'sessions', 

    'lottery' => [2, 100], 

    'cookie' => 'laravel_session', 

    'path' => '/', 

    'domain' => null, 

    'secure' => false, 

]; 

有存儲/框架/會話創建會話文件。

+0

當你說「不同的HTTP請求」時,你究竟是什麼意思?有什麼理由爲什麼應該創建一個新的會話?例如,如果您在隱身模式下打開新的Chrome標籤,則會獲得新的會話。 –

+0

不,不應創建新的會話。通過不同的HTTP請求,我的意思是去一個不同的URL並在那裏檢索會話。 –

+1

明白了。什麼是會話驅動程序?根據https://laravel.com/docs/5.2/session#introduction,如果它是'array':'會話存儲在一個簡單的PHP數組中,並且不會在請求中持久化。 –

回答

0

按照docs,你需要確保你使用的不是array爲您的會話驅動程序,因爲:

陣列會話存儲在一個簡單的PHP數組並不會跨請求持久化。