会话在chrome中重置

时间:2012-10-25 12:54:55

标签: php codeigniter session google-chrome

我在一台服务器上有两个域abc.comxyz.com,两者都有确切的代码。问题出在xyz.com中,在Chrome浏览器页面刷新时,codeigniter会话变量被重置。但是在abc.com中没有这样的问题。在两个域中都可以在Mozilla中正常工作。问题的根源是什么?它是否与域名相关,htaccess?请提供建议。

1 个答案:

答案 0 :(得分:0)

之前我遇到过这个(或非常类似的)问题,我通过启用会话来使用数据库解决了这个问题。

,即在config.php中,使sess_use_database为true,即

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']         = FALSE;
$config['sess_match_useragent'] = FALSE; //you can try this with TRUE and see if it works
$config['sess_time_to_update']  = 300;

确保会话表也在数据库中设置。如果没有,这是sql,

CREATE TABLE IF NOT EXISTS `ci_sessions` (
  `session_id` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0',
  `ip_address` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0',
  `user_agent` varchar(150) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `last_activity` int(10) unsigned NOT NULL DEFAULT '0',
  `user_data` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `session_data` text NOT NULL,
  PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;