Php 代码点火器-Can';t更改后重新登录";cookie“U域”;
我的Codeigniter会话使用了默认值Php 代码点火器-Can';t更改后重新登录";cookie“U域”;,php,codeigniter,cookies,session-variables,session-cookies,Php,Codeigniter,Cookies,Session Variables,Session Cookies,我的Codeigniter会话使用了默认值 $config['cookie_domain'] = ""; 但现在我需要能够在上使用domain.com上的CodeIgniter会话 subdomain1.domain.com subdomain2.domain.com 所以我在codeigniter手册中看到可以设置 $config['cookie_domain'] = ".domain.com"; 额外的点将使域和子域共享所有ci_会话。这工作完美 但是,将cookie\u domai
$config['cookie_domain'] = "";
但现在我需要能够在上使用domain.com上的CodeIgniter会话
- subdomain1.domain.com
- subdomain2.domain.com
$config['cookie_domain'] = ".domain.com";
额外的点将使域和子域共享所有ci_会话。这工作完美
但是,将cookie\u domain
从“
更改为”.domain.com“
后,无法重新登录系统,除非我在chrome设置中手动删除cookieci\u会话
我不能要求所有用户删除他们的cookie,所以我需要找到一种方法。我尝试了所有这些:
delete_cookie('ci_session');
setcookie('ci_session', '', time()-3600);
$this->session->sess_destroy();
unset($this->session->userdata);
$this->session->unset_userdata( <array with all the session keys> )
foreach ($_COOKIE as $key=>$cookie)
setcookie($key, '', time() - 9999999);
此外,在所有这些使cookie过期的命令之后。Chrome仍然表示ci_会话cookie将在2周后过期。这就好像它完全忘记了函数
setcookie
将当前的$config[sess\u cookie\u name]
从ci\u session
-更改为类似new\u cookie
然后浏览器将查找不存在的
new\u cookie
名称,从而强制所有用户使用新cookie将当前$config[sess\u cookie\u name]
从ci\u session
更改为类似new\u cookie
然后浏览器将查找不存在的
new\u cookie
名称,从而强制所有用户使用新cookie将当前$config[sess\u cookie\u name]
从ci\u session
更改为类似new\u cookie
然后浏览器将查找不存在的
new\u cookie
名称,从而强制所有用户使用新cookie将当前$config[sess\u cookie\u name]
从ci\u session
更改为类似new\u cookie
然后浏览器将查找不存在的
new_cookie
名称,从而强制所有用户使用新cookie这是一个好主意,但我也使用数据库表ci_sessions$config['sess_table_name']=“ci_sessions';不是所有的条目都被弄乱了吗?您的表名可以是您想要的任何名称-保留为ci_会话。它不需要匹配cookie名称。我指的是数据库中的行,但我只是注意到任何行中都没有“ci_会话”,所以当它们变老时,它们会被删除。我猜?是的-它会自行修复-随着时间的推移,它们只是正常的过期会话。“cookie名称”可以是您想要的任何名称-它与您的数据库或数据库记录无关。无论如何,它是有效的!如果你在我面前,我会吻你!我真不敢相信这个答案有多快,多么简单,多么可靠,不可能有错误,谢谢!你回答得太快了,所以我几分钟后才能接受这是个好主意,但我也在使用数据库表ci_sessions$config['sess_table_name']='ci_sessions';不是所有的条目都被弄乱了吗?您的表名可以是您想要的任何名称-保留为ci_会话。它不需要匹配cookie名称。我指的是数据库中的行,但我只是注意到任何行中都没有“ci_会话”,所以当它们变老时,它们会被删除。我猜?是的-它会自行修复-随着时间的推移,它们只是正常的过期会话。“cookie名称”可以是您想要的任何名称-它与您的数据库或数据库记录无关。无论如何,它是有效的!如果你在我面前,我会吻你!我真不敢相信这个答案有多快,多么简单,多么可靠,不可能有错误,谢谢!你回答得太快了,所以我几分钟后才能接受这是个好主意,但我也在使用数据库表ci_sessions$config['sess_table_name']='ci_sessions';不是所有的条目都被弄乱了吗?您的表名可以是您想要的任何名称-保留为ci_会话。它不需要匹配cookie名称。我指的是数据库中的行,但我只是注意到任何行中都没有“ci_会话”,所以当它们变老时,它们会被删除。我猜?是的-它会自行修复-随着时间的推移,它们只是正常的过期会话。“cookie名称”可以是您想要的任何名称-它与您的数据库或数据库记录无关。无论如何,它是有效的!如果你在我面前,我会吻你!我真不敢相信这个答案有多快,多么简单,多么可靠,不可能有错误,谢谢!你回答得太快了,所以我几分钟后才能接受这是个好主意,但我也在使用数据库表ci_sessions$config['sess_table_name']='ci_sessions';不是所有的条目都被弄乱了吗?您的表名可以是您想要的任何名称-保留为ci_会话。它不需要匹配cookie名称。我指的是数据库中的行,但我只是注意到任何行中都没有“ci_会话”,所以当它们变老时,它们会被删除。我猜?是的-它会自行修复-随着时间的推移,它们只是正常的过期会话。“cookie名称”可以是您想要的任何名称-它与您的数据库或数据库记录无关。无论如何,它是有效的!如果你在我面前,我会吻你!我真不敢相信这个答案有多快,多么简单,多么可靠,不可能有错误,谢谢!不过你回答得太快了,所以我几分钟后才能接受
$config['sess_expiration'] = 1209600; // 2 weeks