【问题标题】:Struggling to get Laravel 5.2 Database Session working - Something wrong with my config?努力让 Laravel 5.2 数据库会话正常工作 - 我的配置有问题吗?
【发布时间】:2017-04-12 06:42:10
【问题描述】:

我有一个需要添加功能的现有 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();

【问题讨论】:

    标签: php session laravel-5 persistence


    【解决方案1】:

    您的会话在“彩票”扫描中丢失。在 /config/session.php 中更改这一行

    'lottery' => [2, 100],
    

    'lottery' => [0, 100],
    

    它应该可以工作。

    【讨论】:

    • 附带说明:处理要实现的目标的会话非常棘手。您可能不得不考虑改用 cookie。您可以将任意数量的数据序列化到一个 cookie。
    猜你喜欢
    • 2012-01-15
    • 2014-05-20
    • 1970-01-01
    • 2018-12-30
    • 2019-04-24
    • 2016-11-27
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多