给人玫瑰–手留余香!shopex网店运营经验分享,问题与技巧,资讯与观点,网店推广
RSS 图标 Email 图标 首页图标
  • 对一起蹊跷事件的非典型分析

    发表于 2009年08月12日 暗香 4 条评论

    使用shopex的用户都知道,要安装shopex并让其正常运行,至少需要两个条件:一是允许php的WEB空间,里面是shopex的文件栖身地;另一个条件是mysql数据库空间,这里面是存放的一些关系表与动态数据。两个条件缺一不可,相辅相成,任何一方出现问题都会导致网店的异常。

    最近暗香遇到一个比较诡异的问题,分析与解决的过程有些非典型,特拿出来分享一下。

    事情是这样的,有位用shopex的用户向暗得反映这样一个问题,在对网站进行过多次的升级与更新补丁后,网店不能用了。具体的表现是在前台进行会员注册与生成订单时均报错:

    会员注册
    会员注册

    生成订单
    订单提交

    暗香看到后,根据经验,首先判断可能是会员级别原因,导致不能添加新会员。但检查后台会员级别后,发现配置是正常的,有会员等级,也有默认会员等级。

    订单生成失败,可能是地区信息没有加载成功,无法选择;或配送方式、支付方式中有一项设置不完全。但检查后,发现后台的配置也均是正常的,没有异常。

    既然这样,那只能怀疑是数据库有问题的。暗香打开后台的数据库校验功能,工具箱-数据库校验,提示是:您的数据库完整无缺。看来表的结构是正常的,因为系统并没有发现异常。

    这就奇怪了…

    正常检查没有找到问题,看来需要对比表结构了。启用phpmyadmin这一管理mysql数据库的超级帮手,对表进行核对。可能有的朋友要问题,这怎么核对,就一个网店?

    其实,可以在本地安装一个相同版本的shopex,然后同时打开这两个店的数据库,进行表的结构对比,因为表比较多,可能会有些累。

    对比双方的数据库表结构后,暗香发现,双方的表的数量完全相同,与member、order相差的一些表也都存在。看来表的结构没问题,所以系统后台的校验工具也确实没有发现异常。

    那就再进一步对比一些字段的默认内容,经过艰苦的核对,暗香终于发现异常了。

    其中表sdb_members中的字段remark_type默认值为空,而正确的值应该是b1,随即添加之并保存。在前台测试,会员注册成功!

    同理,再找,又发现表sdb_oders 中的字段mark_type的默认值也为空,而正确的值应该为b2,添加并保存。在前台测试订单,终于看见那熟悉的提示页面了,生成成功!

    分析其原因,暗香猜测可能是在多次的升级与更新过程中,无意中影响了字段中的内容,导致出现这样的问题。因此,暗香在这里也说一下,升级工更新时请随时做好备份,升级前要备份,升级后更要有备份,升级完后要立即检查,这样可以快速找到问题所在,方便解决。

     

    4 responses to “对一起蹊跷事件的非典型分析” RSS 图标


ICP:05002918