2016-08-24 80 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'); 
您使用的是哪个会话司机