前两天调整了Ecshop的默认session存储时间,主要是为了实现购物车内的物品保留的功能,结果今天中午的时候新用户访问报错,直接显示The table ‘ecs_sessions’ is full。于是进入服务器看一下表的情况,原来是这个ecs_session是内存表,最大值在16M,而修改过存储时间后,这个表里的记录会大大的大于原先Ecshop的标准,所以就出现了这个错误。
解决这个问题的过程也很简单,三个方法,第一个修改mysql.ini,再其中加入以下两行,并重启mysql。
tmp_table_size = 256M max_heap_table_size = 256M
另一个方法则是用第三方工具打开mysql,在第三方工具里调整mysql的设置,这个颇为简单,tiandi推荐新手用这个。
最后一个办法则直接在mysql的命令行工具里执行如下命令。
set tmp_table_size = 256M set max_heap_table_size = 256M
文章评分7次,平均分4.4:★★★★☆
具体的,可以百度搜索云乡猫须草联系我修改
就是这么修改的 $q1=$this->query(‘CHECK TABLE ecs_goods’);
$checkresult =mysql_fetch_array($q1, MYSQL_ASSOC);
if($checkresult[‘Msg_text’] != ‘OK’) {$this->query(‘REPAIR TABLE ecs_goods’);}
在cls_session.php中加入修复语句,检查是否有错,有错就修复,就这么简单