Как установить сеанс в базе данных codeigniter 3?
Я использую новую версию(3.0.0). из CodeIgniter и у меня есть новая проблема, мои сеансы не работают. Я имею в виду, что код в контроллере правильно, потому что нет ошибок, но когда я пытаюсь напечатать переменную PHP в виде нет ничего.
Я проверил свою таблицу на сервере MySQL, и ничего, я теперь не знаю, в чем проблема. Я положил свой код конфигурации.РНР. (Я не понимаю много вещей в этой новой версии)
$config['sess_table_name'] = 'ci_sessions';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
Я должен добавить первый строка "сделать" сеансы работает, я не знаю, правильна ли эта конфигурация для создания сеансов в базе данных.
Если у кого-то есть такая же проблема, помогите мне пожалуйста :( . Мой класс сеанса не редактировался.
4 ответов
в первую очередь CI3 сессии в таблице и таблица сеансов CI2 (сохранение данных сеанса в базу данных)структуры разные
новая таблица сеансов структура
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
PRIMARY KEY (id),
KEY `ci_sessions_timestamp` (`timestamp`)
);
во-вторых, они поддерживают старые настройки переменных С новая конфигурация но лучше использовать новую конфигурацию
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';//its your table name name
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
смотрите более подробную информацию на их docs
несколько новых функция (функция) доступна для библиотеки сеансов.
помните не забудьте загрузить его через автозапуск.php или загрузка $this->load->library('session');
перед использованием.
Если вы добавили " первую строку "(т. е. sess_table_name
), чтобы заставить его работать, потому что ваш sess_driver
значение база данных. Взгляните на список поддерживаемых драйверов и вы увидите, что файл сессии, он будет по умолчанию. Другими словами, если вы удалите эти строки, он должен работать:
$config['sess_table_name'] = 'ci_sessions';
$config['sess_driver'] = 'database';
удалите эту добавленную строку и установите:
$config['sess_save_path'] = 'ci_sessions';
остальная часть кода должна быть в порядке. ссылка на docs.