Проблема с сеансом в драйвере сеанса базы данных Codeigniter / драйвере сеанса - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть приложение для создания чата с Codeigniter 3.1.11 и jQuery ajax. Я использую драйвер сеанса базы данных. В localhost не было никаких проблем, но когда я переместил его на работающий сервер и в соответствии с увеличением количества обращающихся пользователей, у меня возникло много проблем с сеансом. Одной из проблем является создание нескольких идентификаторов сеансов для одного пользователя (имеется в виду, когда я открываю страницу в своем браузере, создание минимум 4-6 идентификаторов в таблице ci_sessions, иногда даже больше). И иногда я теряю значения сеанса (как это сбрасывается при каждом вызове ajax). И у меня есть ошибка ниже также внутри файла журнала:

ERROR - 2020-02-04 13:41:30 --> Query error: Deadlock found when trying to get lock; try restarting transaction - Invalid query: UPDATE `ci_sessions` SET `timestamp` = 1580823690 WHERE `id` = 'e0b75ac252a680d3ec6ad1b8589f4836b89f8bf5'

Информация о моем живом сервере:

Apache Версия: 2.4.41, PHP Версия: 7.3.13 , MySQL Версия: 10.3.18-MariaDB, Операционная система: linux

Когда я публикую это, моя таблица ci_sessions содержит 478 уникальных IP-адресов и 5105 записей в таблице. Пожалуйста, помогите с этим вопросом.

1 Ответ

0 голосов
/ 12 февраля 2020

Согласно вашей ограниченной информации, я могу только предложить вам обновить следующее

config['sess_match_ip'] = true;

Это должно решить вашу множественную сессию для одного и того же пользователя.

...