根本原因在这,libraries/Session/Session.php 中 128行
if (isset($_COOKIE[$this->_config[‘cookie_name‘]])
&& (
! is_string($_COOKIE[$this->_config[‘cookie_name‘]])
OR ! preg_match(‘/^[0-9a-z]{10,40}$/‘, $_COOKIE[$this->_config[‘cookie_name‘]])
)
)
{
unset($_COOKIE[$this->_config[‘cookie_name‘]]);
}
/^[0-9a-f]{40}$/, 改成 /^[0-9a-z]{10,40}$/,session_id取值范围在php7中变了,不会每次执行都会 unset($_COOKIE[ci_session])
原文:https://www.cnblogs.com/sull/p/8949899.html