2016-04-25 55 views
0

我使用的是Laravel 5.2.29,并且我已经设置了一些预定的命令。使用会话时间表

其中一个通过正常使用(即通过浏览器)使用我的应用程序中使用的一些方法,因此会话是可访问的。

然而,当我尝试使用artisan schedule:run手动运行该命令,我得到以下异常: Session store not set on request.

会话没有被设置(我在同样假设仿佛路线是没有访问网络中间件),那么有没有办法手动启动会话?我宁愿不重写我的方法不使用它。

+0

我不认为'Session'是用来从命令中使用的。你能解释一下在这种情况下使用'Session'的更多信息吗? – Gntem

+0

我的用户具有角色,并且我在模型上有一个方法来检查用户是否具有某个角色。由于在一个页面请求中可能会有多个检查,因此我会刷新初始检查的结果,以便它可以直接从会话中抓取它,而不是每次都查找数据库(每页可能会有大约30次检查)。 – Sacha

回答

1

您没有权限访问CLI中的会话。会话与在命令行中不敏感的Web浏览器(客户端)严格相关。

如果您需要本地存储(用于服务器端)您可以尝试使用缓存驱动程序。

+0

感谢您确认我无法使用与CLI的会话。我最终通过使用缓存来改变我使用会话的内容,但只缓存了1分钟。这不是理想的,但它的工作原理! – Sacha