这是我的问题。
我将数组存储在Laravel会话中。
session(['array_cache' => $array]);
数组看起来像这样:
array:59 [▼ 0 => array:18 [▼ "id" => 2 "type" => 3 "partner_id" => 1 "username" => "Pink11034519" "firstname" => "Jade" "lastname" => "Altenwerth" "age" => 18 "gender" => "f" "email" => "brisa12@lubowitz.com" "mobile" => "406-361-6252 x4876" "rank_id" => 3 "status" => 1 "avatar" => "" "timezone" => "America/Anguilla" "available" => "7:00-11:30 | 13:00-17:00" "created_at" => "2018-08-28 02:56:26" "updated_at" => "2018-09-12 21:03:50" "pivot" => array:3 [▼ "employee_id" => 1 "storable_id" => 2 "storable_type" => "Employee" ] ] 1 => array:18 [▶] 2 => array:18 [▶] 3 => array:18 [▶] .... 57 => array:18 [▶] 58 => array:18 [▶] ]
当我像上面那样存储超过55个元素的数组时,会话中断,我退出了。
如果减少子数组中的数据量,则能够在会话再次中断之前增加存储的子数组的数量。
所以,看起来大小很重要。
Laravel会话中存储的阵列大小是否有限制?
或者问题可能出在Laravel自动序列化上?
有人遇到过这样的事情吗?
我很欣赏一些想法。
编辑:这是发生了什么。
项目会话存储在数据库中。
“有效载荷”列的标准Laravel会话表设置为TEXT,其中包含:65,535个字符。
Laravel序列化和base64编码会话有效负载。这样可以很快吃掉允许的字符。
关于将存储更改为文件的决定不是我自己决定的,因此尽管对存储字符串的潜在大小不太满意,但我还是将TEXT更改为MEDIUMTEXT以增加存储容量。我将写一条备忘录并仔细观察它的工作原理。