我一直在关注文档here的升级指南,并已到达有关新会话存储机制的部分。
过去,我的应用程序已将会话存储在数据库中,但我已选择按照文档中的建议将其移至文件系统。
在最初跟随升级文档之后,我遇到了问题所以我重新启动了config.php文件的新副本(3.0版本提供的股票版本),并更改了以下变量(您可以假设其他任何内容下面未显示的配置仍为默认值):
$config['base_url'] = 'http://www.domain.com/';
$config['encryption_key'] = 'mykey';
/* default settings omitted */
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'application/session_storage';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
我已经创建了一个位于/application/session_storage/
的目录来保存会话并将其文件权限更改为700但是某些内容似乎仍然不正确,因为我收到的数据库错误表明数据库表格格式不正确。
我认为通过选择使用文件系统进行会话存储是否正确,根本不需要数据库?如果是这种情况,任何人都可以告诉我为什么CI仍在尝试输入数据吗?
答案 0 :(得分:0)
当我按照升级指南的第2步说明"替换系统文件夹中的所有文件和目录"仅仅将目录拖放到现有文件夹顶部的FileZilla中是不够的。
在比较系统文件时,我现在看起来有2.2.2和3.0的文件组合,这似乎导致了冲突。特别是,该文件位于system/libraries/Session.php
我已删除该文件夹并重新上传,这解决了所有问题。