我对Laravel的会话有疑问。我尝试重定向页面,同时使用with()
方法发送一些会话变量:
return Redirect::To('/')->with('foo','bar');
但是当页面出现时,唯一的会话变量集是_token
和locale
,'foo'和'bar'不会出现。正在运行{!! var_dump(Session::all()); !!}
会:
array(2) { ["_token"]=> string(40) "l5NawtJdHJtanTErsya440UvPQIgqNExiryJIkIO" ["locale"]=> string(2) "se" }
存储在storage/framework/sessions
中的会话奇怪地设置了其他变量,例如url
和PHPDEBUGBAR_STACK_DATA
,这些变量在重定向时不会显示。
现在,这是真正的转折:它在另一台计算机上运行时效果很好。
我们使用相同的存储库,相同的代码,laravel的全新安装,相同的Web浏览器,相同的操作系统(Mac)以及用于本地运行服务器的相同程序(MAMP)进行测试。在另一台计算机上它工作正常,在第三台计算机上,但不在我的计算机上。
应用程序处于调试模式,我已经尝试清除Laravel中的所有缓存,并且在浏览器中没有任何更改。
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
session()->flash->('foo', 'bar');
方法用于将数据传递给视图。如果您想在会话中添加内容session()->put('foo', 'bar');
(在下次请求后自动删除)或{{1}}
答案 1 :(得分:0)
显然在config/session.php
中,变量domain
已设置为生产域。因此,在我的计算机上使用localhost时,无法读取或写入cookie laravel_session
。
通过使用:
'domain' => null,