0

这是我的问题。

我将数组存储在 Laravel 会话中。

session(['array_cache' => $array]);

数组看起来像这样:

数组:59 [▼
  0 => 数组:18 [▼
    “身份证” => 2
    “类型” => 3
    “合作伙伴 ID”=> 1
    "用户名" => "Pink11034519"
    “名字” => “玉”
    “姓氏” => “Altenwerth”
    “年龄” => 18
    “性别” => “f”
    “电子邮件” => “brisa12@lubowitz.com”
    “移动”=>“406-361-6252 x4876”
    “rank_id” => 3
    “状态”=> 1
    “头像” => “”
    "时区" => "美国/安圭拉"
    “可用” => “7:00-11:30 | 13:00-17:00”
    "created_at" => "2018-08-28 02:56:26"
    "updated_at" => "2018-09-12 21:03:50"
    “枢轴” => 数组:3 [▼
      “employee_id”=> 1
      “storable_id” => 2
      “可存储类型” => “员工”
    ]
  ]
  1 => 数组:18 [▶]
  2 => 数组:18 [▶]
  3 => 数组:18 [▶]
  ……
  57 => 数组:18 [▶]
  58 => 数组:18 [▶]
]

当我像上面那样存储超过 55 个元素的数组时,会话中断并且我被注销。

如果我减少子数组中的数据量,我可以在会话再次中断之前增加存储的子数组的数量。

所以,看起来尺寸很重要。

Laravel 会话中存储的数组大小是否有任何限制?

或者问题可能出在 Laravel 自动序列化上?

有人遇到过这样的事情吗?

我很欣赏一些想法。


编辑:这就是发生的事情。

碰巧项目会话存储在数据库中。

'payload' 列的标准 Laravel 会话表设置是 TEXT,它带有:65,535 个字符。

Laravel 序列化和 base64 编码会话有效负载。这可以很快吃掉允许的字符。

将存储更改为文件的决定不取决于我,因此我将 TEXT 更改为 MEDIUMTEXT 以增加存储容量,尽管我对存储字符串的潜在大小不太满意。我会写一份备忘录并密切关注它是如何运作的。

4

1 回答 1

1

laravel session 没有限制,你可以从这里获得更多关于 session 的信息

于 2019-04-24T06:41:55.257 回答