2016-08-24 74 views
1

我試圖Laravel 5並且無法獲得Session的工作。一個Controller內林,這就是香港專業教育學院的一個新的安裝和新鮮的控制器來完成:Laravel5 - 無法獲得Sessions的工作

\Request::session()->put('test', 'x'); 
var_dump(\Request::session()->get('test')); 

這工作只要會話被寫入,一旦你評論的第一行有會話值消失在下請求。

同樣,我試過這個Session::而不是Request::session(),結果仍然一樣。

+0

? – mazedlx

+0

文件。但我試過array,apc等以及 –

+0

'array'將不起作用,因爲它不是持久的。 – mazedlx

回答

1

好香港專業教育學院找到了解決自己由於2個職位:

Laravel 5 - session doesn't work

Session not working in middleware Laravel 5


  1. 各地Laravel是這麼這麼這麼簡單所有OMG喧鬧後讓舞蹈雨! PHP中最簡單的東西,如$_SESSION現在需要\Request::session(),您需要user Request。那麼你需要2種不同的方法來保存並直接從它獲取值,而不是$ _SESSION ['x']!

  2. Laravel(天才超級外星科技)將會話保存在TerminableMiddleware而不是現場,但DOESNOT在https://laravel.com/docs/5.2/session上提到它。所以你需要明確地撥打Session::save()

所以,你去,5行做1行工作$ _SESSION!

+0

Laravel Session與$ _SESSION無關。 – mazedlx

+0

您是否閱讀過本頁上的開頭句子? https://laravel.com/docs/5.2/session它說明了$ _SESSION的用途! –

+0

如果它沒有任何與$ _SESSION,他們犯規提到'TerminableMiddleware'引導該網頁上? –

0

,如果你使用的是5.2,請確保您的控制器是由「網頁」中間件組或者通過路由

$route->group([ 'middleware' => ['web'] .... 

或通過實例它在你的控制器構造方法決定;

$this->middleware('web'); 
您使用的是哪個會話司機