如何在没有过期会话的情况下保存表中的会话数据?

时间:2013-03-20 10:23:05

标签: php codeigniter session

我是带有codeigniter的php新手。关于使用codeigniter mvc框架的php会话我有一个问题。 当我因为会话到期而无法登录我们的网站时使用表(ci-sessions)存储会话数据...

  1. 我设置了var $sess_table_name = 'ci_sessions';&在Session类中var $sess_use_database = TRUE;
  2. 我还设置了$config['sess_use_database'] = TRUE;& config.php中的$config['sess_table_name']= 'ci_sessions';
  3. 我在数据库中创建了表格 -

    CREATE TABLE IF NOT NOT EXISTS ci_sessions( session_id varchar(40)DEFAULT'0'NOT NULL, ip_address varchar(45)DEFAULT'0'NOT NULL, user_agent varchar(120)NOT NULL, last_activity int(10)unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY(session_id), KEY last_activity_idxlast_activity) );

  4. 给出好的解决方案。

    请帮帮我。

1 个答案:

答案 0 :(得分:0)

关于会话到期,goto application-> config-> config.php和set $ config ['sess_expiration']等于零($ config ['sess_expiration'] = 0;)。这将取消会话到期。

关于在表格中保存会话,请确保您的表格如下所示:

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);

当然,您可以为其添加字段,但请记住该结构。