当前位置:首页 > 未命名 > 正文内容

ecshop ecs_sessions表经常crash的问题

程序猿7年前 (2018-09-02)未命名1287

客户的网站经常提示说ecs_sessions表崩溃 crashed,需要repair,这是什么情况呢:

这个表是ecshop模拟session存储临时信息用。分析cls_session.php文件,发现自己将session过期日期写的好大,而最近网站的访问量持续增大,造成旧的数据不能及时的清除造成的。将过期时间缩短到一定时间,这个时间根据具体情况而定了。

以上两种情况的解决办法:

1、直接清空session表

可以到后台 数据库管理-sql 查询里执行这个语句:delete from ecs_sessions

或者:

truncate table `ecs_sessions`

或者登录phpmyadmin 清空 ecs_sessions 表,清理完缓存就发现不会报错了

2、同时可以设置一下session的失效时间

打开Includes下cls_session.php

修改过期时间,数值改小就可以了,var $max_life_time = 1000; // SESSION 过期时间

ecs_sessions和ecs_sessions_data是ECshop的内存缓存表。都是可以清空的。

3、在cls_sessions.php当中添加如下的语句:

$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’);}

4、增加mysql内存表的大小

my.cnf:增加

tmp_table_size:256M

tmp_heap_table_size:256M

扫描二维码手机访问。版权声明:本文由橘万家版权所有,严禁转载复制。

本文链接:http://tech.juhome.net/article/13.html

标签: mysqlecshop

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。