努力获得Laravel 5.2数据库会话工作 - 我的配置有问题吗?

问题描述:

我有一个现有的Laravel 5.2应用程序,我需要添加功能。努力获得Laravel 5.2数据库会话工作 - 我的配置有问题吗?

我有以下要求

  1. 为了有一个控制器,将服务于多个请求,每个 请求发送一个唯一的ID,以确定它的来源
  2. 不会有任何身份验证
  3. 要能够将会话信息保存到数据库中

我所做的:

  1. config/session.php,我设置会话驱动程序如下:'driver' => env('SESSION_DRIVER', 'database'),
  2. 数据库是建立和用户的细节配置(MySQL的)
  3. 从CLI,我跑php artisan session:table,然后php artisan migrate
  4. 从我控制器在第一个调用中使用我的(模拟的)唯一ID(555)创建测试会话变量:\Session::put(555, ['a' => 'Value1']);
  5. 在该行下,我读取并记录会话变量:\Log::info(print_r(\Session::get(555))-它的工作原理!按预期输出!
  6. 然后第二次调用进来,我希望能够读取该会话变量,这是持续使用:\Log::info(is_array(\Session::get(555)) ? print_r(\Session::get(555),1) : 'No value') - 检查它是否是一个数组并打印出来 - 不起作用。没有价值!

我已经通过documentation和各主题的帖子,我似乎无法让它坚持下去。

甚至在设置会话后立即尝试使用\Session::save();

您的会话在'彩票'扫描中丢失。在/config/session.php

'lottery' => [2, 100], 

将此行更改为

'lottery' => [0, 100], 

,它应该工作。

+0

作为一个方面说明:与你想要实现的会议一起工作是棘手的。您可能不得不考虑使用Cookie。您可以将任意数量的数据序列化到一个cookie。 –