CodeIgniter 3和会话

max*_*992 10 php session codeigniter

我最近更新了CodeIgniter 3,遵循本指南: CI3:从2.2.1升级3.0.

我在application/config/config.php文件中设置了这个配置:

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session_my_site';
$config['sess_expiration'] = 604800; // 1 week
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
Run Code Online (Sandbox Code Playgroud)

这里有什么问题吗?我的会话在几个小时后就被销毁了......

Mr.*_* ED 14

在保存路径中,您需要设置位置文件夹.使用'files'的优选对话的驱动程序.如下所示,我已经设置了一个缓存来存储BASE PATH中设置文件夹的会话.确保您有自动加载的会话并$config['encryption_key'] = ''添加密钥.

您可以设置数据库会话,但这也可以.确保文件夹权限0700

http://www.codeigniter.com/userguide3/search.html?q=session&check_keywords=yes&area=default

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

一旦完成,那么你应该能够做类似的事情.

$this->load->library('session');
$data_session_set = array('logged' => 1, 'username' => $this->input->post('username'), 'user_id' => $this->user_auth->get_id()); 
$this->session->set_userdata($data_session_set);
Run Code Online (Sandbox Code Playgroud)


Dav*_* D. 7

在application/config/config.php中设置此值:

$config['sess_save_path'] = sys_get_temp_dir();
Run Code Online (Sandbox Code Playgroud)