这是我的问题。
我将数组存储在 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 以增加存储容量,尽管我对存储字符串的潜在大小不太满意。我会写一份备忘录并密切关注它是如何运作的。