在codeigniter中存储会话的最佳方法

Mah*_*deh 6 php session codeigniter

我想在我的网站上使用会话,但我找不到最好的存储方式,codeigniter提供文件,数据库等.但哪个最好?

我用这个配置文件:

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = '_s';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 0;
$config['sess_regenerate_destroy'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

Unable to create file ./_s\ci_sessionecc1dccdd1118e02ee956dde8aadaf7f1116c1ac because No such file or directory
Run Code Online (Sandbox Code Playgroud)

我必须使用数据库

Mr.*_* ED 7

我发现最好的方法是在你的系统目录中创建一个缓存/会话/文件夹更安全我把重要的东西比如日志和缓存放在系统而不是应用程序文件夹中。

http://www.codeigniter.com/user_guide/libraries/sessions.html

配置文件

$config['encryption_key'] = 'somekey';

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = BASEPATH . 'cache/sessions/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

我也会自动加载会话我自己

应用程序/配置/自动加载.php

$autoload['libraries'] = array('database', 'session');

使用示例

关于登录 form_validation 成功部分

$data = array(
'is_logged' => true,
'username' => $this->input->post('username')
);

$this->session->set_userdata($data);
Run Code Online (Sandbox Code Playgroud)

您设置数据然后登录后可以获得会话$this->session->userdata('username')