教程栏目

joomla中文网出品的官方教程

今天早上打开Joomla中文网社区,发现程序直接挂掉了,显示An error occurred(500)错误。估计应该已经坏掉了一段时间了,需要马上回复。本来以来重新apache服务器就可以搞定的,但这次一点效果都没有了。经过三个小时的调试,程序终于恢复了。然而这段时间的心理活动,让我记忆深刻。

发现问题


上班后的第一件事就是打开joomla中文网的社区,看看有没有新帖需要回复。今天却看到了这个界面。

心理一惊,得马上恢复。试着重启apache服务器,完全没有作用。这下可麻烦了。因为这个社区是外挂的wecenter组件,这个组件我一点都不了解,在做社区和主站的单点登录上就花费了就花了好长时间,只求这个程序在运行中不要出错。这次,TMD真的出错了

 背景


这里需要谈一下为什么很担心这个组件出错。之前在做单点登录集成的时候,阅读过程序的源码。然而看了之后,发现这程序的代码十分的难维护,即使程序出现错误,系统也只会显示上图的提示(An error occurrent),根本不给任何有价值的信息。另外,程序的模块化也存在很大的问题,各功能模块界限不清不楚,和joomla相比,简直一个天一个地。也是在那个时候我对joomla的敬意着实增加了许多。(你可能会问,既然这个组件有这么多的问题,为什么还坚持要用呢,一方面是因为joomla的社区组件界面设计实在不符合国内,本人并不擅长美工,就这一点,必须选择wecenter)

心理活动


 现在问题已经出现了。必须得解决。最麻烦的是,wecenter的官方网站已经有好好几个月没上线了(说是备案问题),这回查资料都没有地方去了。心里一个劲的骂,真是一个大坑。虽然我是php程序员,但是要在没有任何错误提示的情况下排除错误,那简直就是自寻死路,没有一周的时间恐怕是不用想了。此时我的心理

  1. 痛骂wecenter组件,开发的是什么东西
  2. 后悔不该用这个不熟悉的组件。以后可能还有其他的问题,那这个坑就深不见底了
  3. 使用joomlasocial代替,但上次升级就花费了两周的时间,现在替换还不懂要花费多少时间
  4. 告诉自己一定一定不要使用没有长久技术支持的产品,那他妈就是一个深坑

 突然,发现自己是多么的无助,面对这一个鸡肋,不知道是否该扔掉。同时,也深刻的认识到程序的稳定性的重要性。我还是程序员,如果换做一般的使用者,那个焦急更不用提了

峰回路转


 没有任何的办法,值得一步一步的调试,就这样过了三个小时,然而依然没有半点进展。在准备使用旧版的社区覆盖(没有办法的办法:会丢失一些近期的数据)的时候,我突然想到应该看看数据库。也许里面会有线索。就这一点,让这个问题出现了转机。当打开数据库question表的时候,问题发现了:question表 出现 is marked as crashed and should be repaired。意思说这个表坏了,需要修复一下。这个问题以前处理过。直接勾选question表,然后点击修复就行了。3个小时,这个问题解决了。

反思


那么剩下的反思呢?

如果wecenter程序有更加人性化的错误提示,也许这3个小时也行只要3分钟就行了。

作为程序员,我们是否应该在程序员的稳定性上多下点功夫呢?

在选择产品的时候,千万千万千万不要使用没有长久技术支持的产品,那TMD就是给自己挖坑

 

 

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前

第1章 经验分享

第2章 专题教程

第3章 扩展推荐

第13章 扩展更新日志