Вот моя проблема.
Я сохраняю массив в сеансе 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, чтобы увеличить емкость хранилища, хотя меня не устраивает потенциальный размер хранимой строки,Я напишу памятку и внимательно посмотрю, как это получится.