最近几天,Ecshop(V 2.7.3)网站访问突然提示:“MySQL server error report MySQL server error report:Array ( [

报错网页内容(Ecshop报错相信提示信息):

640.png

故障描述:

网站毫无征兆下突然提示mysql数据库服务器错误报告,且没刷新一次“VALUES”里面的数值(上面红色字体),就会自动变换。

故障解决:

网上也了解了下ecshop关于数据库报错类的问题,发现真的很多,让人也无从着手。通过分析报错提示,用排查的方式进行摸索解决,步骤如下。

1、 既然是mysql数据库报错,第一件事就是验证php虚拟主机的mysql数据库服务器是否真的挂掉了。方法很简单,登录phpmyadmn,能顺利登录到phpmyadmin,就证明mysql没有挂掉,然后问问空间商,拿个同IP下的站点放下对比下就知道了。

2、 从错误提示中有个关键的地方“The table ‘ecs_sessions’ is full ”,这个可能就预示着原因。去echsop官方论坛搜索了下“ecs_sessions”发现真有相同故障的解决方案。这个错误是由于ecs_sessions溢出导致的,其解决的方法就是将ec_sessions表里面的数据全部删除。

3、设置includes/cls_session/php里面的var $max_life_time = 1800; // SESSION 过期时间从默认的1800修改为1000或者更少,(访问量越大的站该数值应该设置的越小,本人设置为600)

另外如果ecs_sessions表不存在也会出现上面的提示,这个问题多发生在ecshop网站迁移的情况。

总结:

访问ecshop提示MySQL server error report:Array错误的原因有很多,ecs_sessions数据库表溢出是其中原因之一,用户在对着时,认真区别,“病急乱投医”是大忌讳。网站进行排错修改前,务必先备份哈。