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