Сеанс хранения кодигнитора в базе данных - PullRequest
2 голосов
/ 16 марта 2012

У меня проблема с сохранением сессии в базе данных.Мой проект состоит из двух частей: одна представляет собой полноценный веб-сайт, куда пользователь приходит и планирует свое видео вещание, а вторая часть - приложение Facebook, куда приходит зритель и смотрит трансляцию.Проблема заключается в том, что когда я сохраняю сеанс в базе данных, установив для sess_use_database значение true, часть моего веб-сайта работает нормально, и никаких проблем не возникает, но в сеансе части facebook не сохраняются ручные значения, за исключением значений по умолчанию для codeigniters, но когда я использую файлы cookie для сеанса обеих частейхорошо работаетЕсть ли проблемы с сеансами codeigniter в iframe?

Ответы [ 2 ]

0 голосов
/ 09 января 2014

У меня были проблемы с моим проектом в течение более двух дней, пытаясь отладить мою проблему с сессиями, пока я не нашел проблему, которая лежит в структуре таблицы ci_session

если у вас проблемы, ваш стол должен выглядеть следующим образом:

--
-- Table structure for table `ci_sessions`
--

CREATE TABLE IF NOT EXISTS `ci_sessions` (
  `session_id` varchar(40) NOT NULL,
  `ip_address` varchar(45) NOT NULL,
  `user_agent` varchar(120) NOT NULL,
  `last_activity` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `user_data` text NOT NULL,
  PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
0 голосов
/ 25 марта 2012

Полагаю, ваша проблема в том, что веб-серверы создают уникальные сеансы идентификаторов для доменных имен, поэтому, если я захожу на ваш сайт через Facebook, мой идентификатор сеанса будет отличаться от доступа к вашему сайту через его домен, в этом случае следует использовать файлы cookie для хранения только идентификатор сеанса, но все данные сеанса должны храниться в базе данных.

...