2013-03-20 5 views
0

Я новичок в php с codeigniter. У меня проблема с php-сессией с фреймворком codeigniter mvc. Когда я использовал таблицу (Х-сеансы) для хранения данных сеанса, когда я не могу войти на нашем сайте в связи с истечением сессии ..Как сохранить данные сеанса в таблице без получения истекшего сеанса?

  1. Я поставил var $sess_table_name = 'ci_sessions'; & var $sess_use_database = TRUE; в классе Session.
  2. Я также установил $config['sess_use_database'] = TRUE; & $config['sess_table_name']= 'ci_sessions'; в config.php.
  3. Я создал таблицу в базе данных как-

    CREATE TABLE IF NOT EXISTS ci_sessions ( session_id VARCHAR (40) DEFAULT '0' NOT NULL, ip_address VARCHAR (45) DEFAULT '0' NOT NULL, user_agent VARCHAR (120) NOT NULL, last_activity INT (10) без знака DEFAULT 0 NOT NULL, user_data текст NOT NULL, PRIMARY KEY (session_id), KEY last_activity_idx (last_activity) );

Дайте хорошее решение.

Пожалуйста, помогите мне.

+0

Работает ли ваш вход в систему, если вы не используете таблицу сеансов? Также вы установили ключ шифрования? –

+1

НЕ меняйте Session.php в основных системных файлах. Плохая идея. Используйте config.php для установки соответствующих параметров. –

+1

Вы не упомянули, является ли это вашей средой разработки или нет, но попробуйте очистить файлы cookie или изменить имя файла cookie. Я обнаружил, что, когда я ушел вживую, у меня были проблемы, потому что cookie для моего dev и живого окружения имел одно и то же имя, вызывающее конфликты, которые приводили в заблуждение сессий. –

ответ

0

Относительно окончания сеанса, goto application-> config-> config.php и установите $ config ['sess_expiration'] равным нулю ($ config ['sess_expiration'] = 0;). Это отменит истечение сеанса.

Что касается сохранения сессии в таблице, убедитесь, что ваша таблица будет выглядеть примерно так:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL, 
ip_address varchar(45) DEFAULT '0' NOT NULL, 
user_agent varchar(120) NOT NULL, 
last_activity int(10) unsigned DEFAULT 0 NOT NULL, 
user_data text NOT NULL, 
PRIMARY KEY (session_id), 
KEY `last_activity_idx` (`last_activity`) 
); 

Конечно вы можете добавить поля к нему, но сохранить эту структуру в виду.

+0

Я сделал, как указано выше, но у меня нет решения ......., пожалуйста, помогите мне –

Смежные вопросы