在线建站培训
您的位置: 魔客吧 cms教程 ecshop教程 查看内容

ECShop The table ‘ecs_sessions’ is full 的处理方法

2017-6-25 08:17 | 发布者: moke | 栏目:ecshop教程

完整提示MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `cc`.`ecs_sessions` (sesskey, expiry, ip, data) VALUES ('4b5c9bb5f23d7a1cebd1c1f4ad6682ee', '1270728928', '218.74.203.161', 'a:0:{}') ) [2] => Array ( [error] => The table 'ecs_sessions' is full ) [3] => Array ( [errno] => 1114 ) )

打开ecs_sessions表发现里面的数据有好几十页(每页1000)。那怪会提示满了!但是很奇怪,为什么会存在这么多的数据在里面呢。不可能一天有这么多人在访问! 网站运行了好几个月了,没出现这种问题!

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

var $max_life_time = 1000; // SESSION 过期时间

也许有一天,当你访问自己的ECSHOP网站的时,突然会出现下面错误提示:

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `howjia`.`hsd_sessions` (sesskey, expiry, ip, data) VALUES (’6e29308d833f30446122f49e89023156′, ’1297816061′, ’114.249.213.6′, ‘a:0:{}’) ) [2] => Array ( [error] => The table ‘ecs_sessions’ is full ) [3] => Array ( [errno] => 1114 ) )

不要着急,下面告诉你如何解决:

根据错误提示判断是ecs_sessions表满了,打开phpmyadmin查看了一下表,是个memory表,数据有23800条,删除了一些数据看了一下还是有错误,并且数据项还是不变,由于表是内存表,我重启了一下mysql,网站恢复正常了

后来在网上搜了一下,这个问题可能是网站没有及时清理session内存表造成的。
也许通过程序设置可以解决这个问题。

程序解决方法是:

设置includes/cls_session.php里的var $max_life_time = 1000,

这个数值根据网站访问量的大小来定,访问越大可以设置的越小。





魔客吧温馨提示:如果你正在寻找优秀的ecshop模板,那你可以到魔客吧的 ecshop模板 频道看看,相信一定有你喜欢的!

最新分享资源

最新评论

验证码 换一个