我面临的问题是,当我重定向到某个页面时,我的会话被破坏了。我只在liveserver中遇到这个问题,并且在localhost中完美地工作。几个月前,在不同的托管公司上没有这个问题
这是我的会话配置
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
您正在使用"files"驱动程序,因此必须提供$config['sess_save_path']
的路径。您将该值设置为NULL,这将不起作用。
分配给$config['sess_save_path']
的值必须是完整的、绝对的路径,并且必须具有适当的所有者和权限设置。有关文件驱动程序的文档。
出于安全考虑,许多开发人员创建了一个与网站公用文件夹相同级别的文件夹。如果该文件夹被命名为"sessions",那么你可以像这样设置配置
$config['sess_save_path'] = dirname(FCPATH .'/sessions/');
另一件要尝试的事情是显式使用cookie_domain,即
$config['cookie_domain'] = '.yourdomain.tld';
请确保包含前导点。