Php 会话已在chrome中重置
我在一台服务器上有两个域Php 会话已在chrome中重置,php,codeigniter,session,google-chrome,Php,Codeigniter,Session,Google Chrome,我在一台服务器上有两个域abc.com和xyz.com,都有精确的代码。问题是在xyz.com中,codeigniter会话变量在chrome浏览器的页面刷新时被重置。但是在abc.com中没有这样的问题。它在Mozilla中在这两个域中都可以正常工作。问题的根源是什么?它与域相关吗,htaccess?请提供建议。我以前遇到过这个(或非常类似的)问题,我通过启用会话来使用数据库解决了这个问题 i、 在config.php中,使sess_use_数据库为true,即 $config['sess_c
abc.com
和xyz.com
,都有精确的代码。问题是在xyz.com中,codeigniter会话变量在chrome浏览器的页面刷新时被重置。但是在abc.com中没有这样的问题。它在Mozilla中在这两个域中都可以正常工作。问题的根源是什么?它与域相关吗,htaccess?请提供建议。我以前遇到过这个(或非常类似的)问题,我通过启用会话来使用数据库解决了这个问题
i、 在config.php中,使sess_use_数据库为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;
这也是存在的。但问题仍然存在。请确认这一点,因为如果会话存储在数据库中(而不是使用cokkies),那么在不同的浏览器上结果会有所不同是毫无意义的。正如ramiro所建议的,尝试使用配置变量。我已经用我认为会话配置变量应该是的内容更新了我的帖子。