重定向页面时错过了会话​​变量

时间:2016-06-17 15:22:44

标签: session laravel-5.1

我对Laravel的会话有疑问。我尝试重定向页面,同时使用with()方法发送一些会话变量:

return Redirect::To('/')->with('foo','bar');

但是当页面出现时,唯一的会话变量集是_tokenlocale,'foo'和'bar'不会出现。正在运行{!! var_dump(Session::all()); !!}会:

array(2) { ["_token"]=> string(40) "l5NawtJdHJtanTErsya440UvPQIgqNExiryJIkIO" ["locale"]=> string(2) "se" }

存储在storage/framework/sessions中的会话奇怪地设置了其他变量,例如urlPHPDEBUGBAR_STACK_DATA,这些变量在重定向时不会显示。

现在,这是真正的转折:它在另一台计算机上运行时效果很好。

我们使用相同的存储库,相同的代码,laravel的全新安装,相同的Web浏览器,相同的操作系统(Mac)以及用于本地运行服务器的相同程序(MAMP)进行测试。在另一台计算机上它工作正常,在第三台计算机上,但不在我的计算机上。

应用程序处于调试模式,我已经尝试清除Laravel中的所有缓存,并且在浏览器中没有任何更改。

有没有人知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

session()->flash->('foo', 'bar');方法用于将数据传递给视图。如果您想在会话中添加内容session()->put('foo', 'bar');(在下次请求后自动删除)或{{1}}

答案 1 :(得分:0)

显然在config/session.php中,变量domain已设置为生产域。因此,在我的计算机上使用localhost时,无法读取或写入cookie laravel_session

通过使用:

'domain' => null,