我在这个论坛上看到了很多关于codeigntier cart的问题这个问题只能通过修改配置文件
来解决。但我仍然面对这个问题
我已经改变了配置文件,像这样
$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'] = TRUE;
$config['sess_time_to_update'] = 600;
在数据库中,ci_sessions表中,user_data列中,项可以存储10个以上
s:11:"total_items";i:12;s:10:"cart_total";i:420000;}}
和显示购物车项目
的代码foreach ($this->cart->contents() as $items): ?>{
echo $items['id'];
echo $items['image'];
....
}
当我检查firebug时,我仍然得到一个关于cookie大小限制的错误
还有什么我应该检查来解决我的问题??
您遇到了最大cookie长度的问题,因为CodeIgniter默认情况下使用会话cookie来存储会话数据。cookie每个域可以容纳4093个字节数据(所以如果你有2个cookie,它们的总和不能超过这个值)。
如果你让CI使用数据库存储会话(就像你现在做的),那么应该减少cookie的大小。CI将只把会话元数据放到cook中,而把用户数据放到数据库中。检查您的CI版本,也许您使用的是过时的版本。
或者你可以检查会话库替代品,如NativeSession,这段代码将模仿相同的API,但使用php的内置会话功能,所以你可以很容易地使用文件或memcached备份存储。