2

我有两个域abc.comxyz.com在一台服务器上,都有确切的代码。问题出在 xyz.com 中,codeigniter 会话变量在 chrome 浏览器中的页面刷新时被重置。但在 abc.com 中没有这样的问题。它在Mozilla在两个域中。问题的根源是什么?它与域有关吗?htaccess?请指教。

4

1 回答 1

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;
于 2012-10-25T13:02:24.113 回答