Php CodeIgniter 3.0.3 ci_会话未将会话数据保存到ci_会话表

Php CodeIgniter 3.0.3 ci_会话未将会话数据保存到ci_会话表,php,codeigniter-3,Php,Codeigniter 3,我是CodeIgniter的新手,现在保存的登录\注销ci_会话数据存在一些问题。我已经使用CodeIgniter文档中的脚本设置了标准ci_会话表,并设置了配置文件,以允许会话存储在相关表中,但什么都没有 会话的config.php settinh: $config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_encrypt_cookie'] = TRUE; $confi

我是CodeIgniter的新手,现在保存的登录\注销ci_会话数据存在一些问题。我已经使用CodeIgniter文档中的脚本设置了标准ci_会话表,并设置了配置文件,以允许会话存储在相关表中,但什么都没有

会话的config.php settinh:

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_expire_on_close'] = TRUE;
$config['sess_table_name'] = 'ci_session';
$config['sess_expiration'] = 60 * 30;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;
以下是登录表单MVC文件:

模型登录

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class login_model extends CI_Model
{
     function __construct()
     {
          // Call the Model constructor
          parent::__construct();
     }
     //get the username & password from tbl_usrs
     function get_user($username, $password)
     {
          $this->db->where('username', $username);
          $this->db->where('password', sha1($password));
          $query = $this->db->get('tbl_users');
          return $query->num_rows();
     }   
}

登录
用户名

在config.php文件中,需要启用ci会话:

$config['sess_use_database'] = TRUE;
来自CI用户指南:

一旦启用,会话类将在数据库中存储会话数据

确保在配置文件中也指定了表名:

$config['sess_table_name'] = 'ci_sessions';

您可以根据表名更改此名称。

在config.php文件中,您需要启用ci会话:

$config['sess_use_database'] = TRUE;
来自CI用户指南:

一旦启用,会话类将在数据库中存储会话数据

确保在配置文件中也指定了表名:

$config['sess_table_name'] = 'ci_sessions';

您可以根据表名更改此名称。

如下更改config.php,它将会话存储在数据库中

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$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;
在CI 3.x中,db表结构发生了变化,在数据库中,您创建了一个配置文件中提到的表(这里是它的CI_会话)

请参阅链接


希望这对您有所帮助。

如下更改config.php,它将会话存储在数据库中

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$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;
在CI 3.x中,db表结构发生了变化,在数据库中,您创建了一个配置文件中提到的表(这里是它的CI_会话)

请参阅链接


希望这对您有所帮助。

会话驱动程序应该是“数据库”(即
$config['sess\u driver']='database';
)。使用任何前缀的RU?会话驱动程序应该是“数据库”(即
$config['sess\u driver']='database';
)。使用任何前缀的RU?嗨,阿尼尔,谢谢您的帮助。根据你的评论,你是正确的。我正在使用CI 2的数据库会话配置。我的数据库现在正在向ci_会话表接收数据。然而,我遇到了另一个问题。“我的注销控制”不会在注销时破坏数据库中的用户会话。嗨,Anil,谢谢你的帮助。根据你的评论,你是正确的。我正在使用CI 2的数据库会话配置。我的数据库现在正在向ci_会话表接收数据。然而,我遇到了另一个问题。我的注销控制在注销时没有从数据库中销毁用户会话。
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$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;
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,
    KEY `ci_sessions_timestamp` (`timestamp`)
);