Прежде всего вам нужно изменить конфиги для использования базы данных следующим образом:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
Затем вам нужно создать таблицу для ваших сессий, и я создал файл миграции для этого:
class Migration_Create_ci_sessions extends CI_Migration
{
private $table;
public function __construct()
{
parent::__construct();
$this->load->dbforge();
$this->table = 'ci_sessions';
}
public function up()
{
$this->dbforge->drop_table($this->table, TRUE);
$ci_sessions = '`id` VARCHAR(128) NOT NULL,
`ip_address` VARCHAR(45) NOT NULL,
`timestamp` int(10) UNSIGNED DEFAULT 0 NOT NULL,
`data` BLOB NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)';
$this->dbforge->add_field($ci_sessions);
unset($ci_sessions);
$this->dbforge->create_table($this->table, TRUE);
}
public function down()
{
$this->dbforge->drop_table($this->table, TRUE);
}
}
или, если вы предпочитаете, вы можете использовать sql напрямую:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)
);
и, конечно, вам нужно загрузить или автозагрузить базу данных:
$autoload['libraries'] = array('database', 'session');
и установитьконфиги для базы данных правильно:
'username' => 'username',
'password' => 'password',
'database' => 'database',