Вот моя проблема.
Я храню массив в сеансе 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" => "[email protected]" "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 на MEDUMTEXT, чтобы увеличить объем хранилища, хотя меня не слишком устраивает возможный размер хранимой строки. Напишу меморандум и внимательно посмотрю, как получится.
memory_limit
в настройках PHP? - person Tarasovych   schedule 24.04.2019SESSION_DRIVER
(файл, базу данных, массив...), чтобы увидеть, сохраняется ли проблема. Это может помочь вам определить источник проблемы. - person Clément Baconnier   schedule 24.04.2019