电脑技术学习

转换Discuz!两大要求和三个注意点

dn001

作者:曹雷

互联网上爱琢磨、好研究的人真不少,年龄都偏小。我也算一个,自从征上Dsicuz!插件区版主后,更是积累了不少论坛技术方面的经验知识。最近Discuz!官方发起了一个手握手互助升级活动,我也是一个积极响应者,一来是个热心肠,二来也是奔着Discuz!的有纪念意义的T恤,嘿嘿,因此头一波就申请当上了志愿者。

我的网上助人为乐工作就这样开始了。申请转换成为Discuz!的求助人还真不少,第一单对我的声誉影响很是重要,我选择了一个Discuz!新版本升级的朋友,这对我来说,尤其呼吸般的轻松----几分钟全搞定了,然后将他的某些插件,和所有风格,都转化为FOR D41了。第一次成功的“手握手”让我们彼此都很快乐!
目前我帮助转换成功的论坛已有十来个了,不但每个都成功,而且他们还非常满意,我也感到万分的欣慰。但也有遇到比较棘手的转换,那可是需要“真枪实弹”呀!一求助者要求从PW转到DZ,以前虽然转换过但都只是在本地测试过,因此自己小心地弄起来,结果确实是在数据库表上碰到了一些新的问题。问题细节就不一一冗述了,在数据表结构环节出现了问题,但最终还是拿下,成就感强烈。

转换过程不仅锻炼了自己,也帮助了别人,更增添了一份情谊。有不少求助者还热情的说要送我红包,请我吃饭…...那股子热情劲,让我十分满足。

总结一下转换常遇关键问题,那就是在于空间的配置上,php5和mysql5的问题最多,由于他们的特殊性,多多少少会有些麻烦。但也有标准配置出问题的,不占少数。可以说我帮过的人里面,遇到突发问题的不占少数,但结果都是被我自己快速解决。下面我就举例子简单说明一下三大注意点:
一、备份很重要。
在升级、转换论坛的过程中,没有人能有把握成功100%成功,所以说,作为一个志愿者,要懂得在主要操作之前,备份求助者的原论坛所以数据。在备份过程中,使用PMA导出论坛数据库时,出现了导出中断错误,打开了sql文件,里面的最后几行代码看不懂,第一反应是完蛋了,数据库都会出错,估计接下为不会有啥好事情的。但这只是我的一个想象罢了。自己试着找到出现错误的表,然后看其字段,也都没错。字段里的记录很多。没法一个个看,由于想到了用repair.php修复。然后,抱着自信试了一下。结果成功修复了。数据库备份正常导出,论坛升级完毕后,将原数据备份导出还给求助者。不管他要不要。
二、数据库的处理。
转换了一个论坛,所有操作都成功,但结果是在后台刷新缓存时,出现SQL报错。它说找不到相应的数据表cdb_pmsearchindex,既然说找不到表那就是没有这个表,所以自己去翻了D41的安装包,找到了那段数据库,自己再去数据库升级,一切搞定。
三、要找一个信任的志愿者
这个问题也有针对性,事情发生在一个D3F上面,这个客户叫真的不走运,他之前参加过求助者,但帮他的一个志愿者没了好久没搞好,结果损失了几百个会员帐号和很多贴子,至于这个志愿者,我们暂时不提。最后的是如何解决当前的症状。具求助者描述,升级到第三个步骤时就出错,是SQL错误,于是让他给我他的备份数据,然后我在本地测试导入后升,结果如同他所说,也是突发事件,之前从没这样的问题,但我一点没慌,我的原则还有一条就是有问题了就去解决。SQL错误说,在对cdb_setting表内的字段和值操作时,出错匹配错误,于是我不懂了,用repair.php修复,未果;FTP文件夹改名再更新缓存,未果;结果,我问他是不是装了什么插件,他说没有,说是说没有,但是,我只相信我所看到的。求助者的数据表比标准表的settings表多了一个字段,所以导致了INSERT INTO的SQL报错,我也不管是求助者忘记了装某插件还是那个志愿者添加的,反正我解决一下就是了,当然不是先删除,因为不知道其作用(但对论坛是毫无影响的),先备份,这是原则,然后再删除该字段。最后,将升级程序文件里面的相应代码删除,因为第一,二步有些是升级过了。然后再手动执行第三步,完全成功。这个求助者也是我见过最惨的一个了,当时他跟我说快对DZ失去信心了,没想法了。我也对我挽回他对DZ的信心和我的自信感到开心。

作为一个Discuz!“手握手”活动以的志愿者,并不要求其技术到多好,也不要求其转过多少种论坛,重要的是术业有专攻。而且是DZ的志愿者,首先就应该对DZ的数据库表结构了解透彻,否则,遇到了麻烦是推辞掉呢还是不管呢还是怎么。这样一来,求助者和志愿者就没法“手握手”了,这就根本不合这次活动的主题。总结下来必须符合以下的两个基本点:
一、对DZ的数据表结构有非常的认识和了解以及PMA的使用。
二、至少成功转换过一个论坛。这也是所有志愿者都应具备的。