正在加载...

我使用WordPress已经一年半了,由于我频繁的改动,使得在WordPress2.2.2到2.3的那一次升级一直没有时间进行。原因是UTW的tag系统和新的WordPress自身的Tag系统切换太复杂(不仅仅是数据结构,最要命的是一系列的模板改变)。

昨天,很不幸地发现有人居然在试图拿取我的博客管理员账号。于是,下定决心直接升级到最新的2.6.2了!当然,其历程是无比坎坷的,也赚的一些经验,分享如下:

首先,最重要的:从LBS到WordPress2.0那次升级就吃过一次苦头,这次又一次吃苦头:服务器千万不要使用WINNT类型。否则会出现很多怪异的错误。例如我在本地升级的时候,一个tag“张信哲”死活无法正确显示。询问了很多朋友测试,都没有问题。最终发现,在我自己的服务器测试,也是好的。由于我的博客微软的粉丝挺多的,我强调一下,并不是说Windows服务器差,只是WordPress这种PHP+MySQL并且专门为Apache优化的玩意跑在Windows不合适:)

由于WordPress在2.3和2.5两个发行版均进行了数据库结构改变,再加上自2.3开始,内部的tag系统取代了UTW提供的tag支持,因此升级的过程极为复杂。以下列举几个需要注意的地方:

  1. 数据库的导出
    使用mysqldump可以将数据直接导出。如果因历史原因没有采用utf-8的数据格式,可以在导出参数上加上一个:–default-character-set=latin1,即:
    #mysqldump –default-character-set=latin1 -uYOURACCOUNT -pYOURPASSWD DBNAME > /…/wwwroot/backup.sql
  2. 本地测试环境的搭建和数据库的导入
    在导入SQL文件之前,最好做一次批量替换,将正式域名替换为测试域名。例如我就将www.awflasher.com全部替换为了aw.com(我在本地改了HOST,用这个域名专做测试)。否则,本地若是localhost(或者我的aw.com),是无法打开直接导入的数据库的。
    导入数据库使用mysql命令行的source命令即可。关于source的使用,到处都是教程,非常易用。
  3. 升级、导入UTW标签(Tag)
    第一步,执行 /blog/wp-admin/upgrade.php 完成数据库结构更变;
    第二步,进入管理后台 /wp-admin/ 。这时候,可以看到全新的WordPress2.5管理界面。可能还有点不习惯,不过没关系,找到Manage->Import,里面会有一个专门针对UTW的导入(wp-admin/admin.php?import=utw)
  4. 数据库结构更改引发的模板API更变
    修改我的TES,将UTW的API逐个去除,再改为支持WordPress内部的tag系统,这恐怕是整个升级过程中最复杂的一个环节了。当然,在新的数据结构中,categories(分类)和tags(标签、关键词)被统一整合为wp_terms表,这也许会对日后的分类标签管理提供更好的解决方案。
    对于原来主题文件中的“UTW_”函数所造成的损失,UTW的作者提供了一个兼容解决方案。个人觉得还是比较方便的。当然,如果追求主体代码的完美,则还是手工更改吧:
    首先更改基本的Tag显示:
    旧:UTW_ShowTagsForCurrentPost("commalist", array('last'=>', %taglink%', 'first'=>'关键词:%taglink%',))
    新:the_tags("关键词:");
    然后去掉UTW_ShowRelatedPostsForCurrentPost一类函数,改用WordPress Related Posts插件来完成这项工作。对应的函数是:wp_related_posts()
    Tag为张信哲的文章始终无法显示,非常奇怪。在后台中发现,给它一个slug之后马上就好了。可是这样,原来的链接就全部破坏了。这个问题,实在是令人费解。
    换成Linux服务器,就解决了。
  5. 其他修改
    由于WordPress自己的Tag系统永久链接和原来的可能不一致,因此需要在永久链接配置页面进行单独修改,以保持新旧URL的一致性。此外,Tag Cloud也有了新的模板标签,你可以在文章中输出,亦可以在页面中输出,非常灵活强大,详情见此官方文档
    此外,由于我用jQuery做了大量修改,这些地方的检查也需要利用Firebug和Fiddler等辅助工具仔细查询。比如留言提交目标、DOM中的id值,等。
  6. 一些插件带来的问题All in one SEO

    如果是中文博客,在Tag(标签)和Category(分类)页面很可能会出现“标题首字乱码”这一奇怪的问题。不过Google一下很快找到解决方案

    WP Polls

    需要重新更新一下模板(设置里那几个Ajax提交的按钮按一下),数据结构没有调整,只是作者把polls目录换成wp-polls了,不太明白意义何在,加一个“wp-”的前缀,显得更官方?

    SitemapXML

    注意修改相关目录写权限,如果数据库保留了相关的wp_options表,则基本不用重新输入配置。

    WP-Super-Cache

    注意修改相关目录写权限。并且一定要确认配置文件wp-config.php里有这句
    define(’WP_CACHE’, true)

从2.2.2一口气升级到2.6.2,这感觉就像98年玩《三国英杰传》时攒够了装备直接把“短兵”升级为“步兵车”一样;而“装备”不齐时,等级够高也无法升级,这种遗憾,我也体会了好久。这两天以下英雄纷纷帮忙献计献策、援助测试,这里要深深地感谢:

水煮鱼SlukeHailinJoyqi、Spirit zz、ChadaDavid峰回路转,陆续补充……

在IE下有一个特别奇怪的bug,这里要特别感谢Realazy老师提供的帮助!

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 42 条评论
  1. aspirit 2008-09-10 01:11:59

    这次升级颇费周折啊

  2. 魑魅魍魉 2008-09-10 01:17:25

    刚刚还是快来抢沙发,怎么我进来一看,确有两个评论了,而且时候都在这么前面?

    • aw 2008-09-10 01:26:41

      可能是我的博客反应速度过慢。

      垃圾评论在我升级好之后就接踵而至,唉,实在是太可怕了:(

  3. 魑魅魍魉 2008-09-10 01:18:47

    啊,了解了,是我自己电脑上的时间和你的博客上的时间不一样,好像是这样的

  4. liuwenyong 2008-09-10 01:31:06

    似乎访问速度也没有大幅的提高啊…
    为啥子一定要更新呢

    • 为了安全 2008-09-10 01:32:04

      恩,为了安全,顺便测试一下访客评论……

  5. sluke 2008-09-10 01:34:45

    我有升级强迫症,支持升级

  6. 衣不如新 2008-09-10 01:48:17

    能忍的住这么久不升级,PFPF

  7. 衣不如新 2008-09-10 01:49:02

    E,aw你评论不打算审核了么?

  8. joyqi 2008-09-10 03:26:11

    恭喜恭喜,你的文章列表页貌似还有问题

  9. underone 2008-09-10 03:37:17

    你这跨度可真大:)

  10. 嘟嘟鱼 2008-09-10 03:44:37

    升级成功了,恭喜!

  11. 流星 2008-09-10 03:49:59

    一步大变化啊……无比庆幸我6月才开始接触wp,上手就是2.5.1,麻烦减少好多……结果更换域名还是让我头痛了一天才搞定

    wp的导入导出太痛苦了!

  12. 流星 2008-09-10 03:51:57

    不过说起来,下面那个快速检索那么长,最热top20和胡乱看看又少很多,中间空好大一块绿色,好那啥……
    刚发完上面评论,页面刷新时候直接跳得那里,吓我一跳

  13. David 2008-09-10 03:55:41

    早上到公司看到新版了,提到密码试探的问题,赶紧升级了。不过你这个跨度是相当大,辛苦

  14. Denis 2008-09-10 04:31:47

    恭喜下!表要说我是英雄嘎!

  15. 菠菜 2008-09-10 04:44:01

    看来升级还是要趁早,哈哈。。。

  16. DavidYin 2008-09-10 04:46:55

    首页只显示了第一篇文章,其他的内容都没有显示,且保持着“正在加载”的提示。
    Windows XP + FF 3

  17. 巫山霏云 2008-09-10 04:58:50

    不错,终于升级了
    不过我还在想什么时候升级…现在还是2.6…
    对于臃肿的wp越来越有些无语了

    • aw 2008-09-10 05:01:14

      臃肿其外而丰盛,紧凑其中而极速 = wp+jQuery+super cache

  18. kmior 2008-09-10 05:08:04

    嗷嗷,你可以去下个Wordpress Automatic Upgrade插件,再下个WordPress Database Backup就可以备份数据库叻,你开心网帐号多少,mail一下给我,嘿嘿

  19. 猪头 2008-09-10 05:30:32

    一次跨越这么多次升级,aw太有才了

  20. 胡戈戈 2008-09-10 05:40:28

    aw还用自己的服务器啊,厉害啊

  21. realazy 2008-09-10 06:40:25

    靠哇,我啥时候升级成“老师”了那?!

    • aw 2008-09-10 07:43:57

      此老师乃传到授业解惑之老师,非骗钱混饭之老师。

  22. 木蚂蚁 2008-09-10 07:58:44

    谢谢诶,去升级了

  23. 快递查询 2008-09-10 10:07:17

    兄弟。你的博客模板很好看。能发一个给我吗?我的email:my321@yahoo.cn

  24. scavin 2008-09-10 10:55:28

    恭喜,终于升级成功了

  25. Black-Xstar 2008-09-11 12:40:29

    这个游戏十分的刺激啊……

  26. 锐风 2008-09-11 01:31:24

    不用废话, 崇拜下你..
    懒成这个样子.. 难道你是想向 Realazy 看起么??

  27. Dreamcolor 2008-09-11 10:54:46

    我地妈~~~呀~~~~

    太·~~~~~ 刺激了 ~~~~~

  28. Showfom 2008-09-12 09:30:55

    是频频地改动 不是感动 纠错

  29. stephen 2008-09-13 11:02:24

    你还一下跳了好几级啊~~~

  30. Showfom 2008-09-24 06:21:10

    嘿嘿,我居然上榜了,继续努力!!

  31. aw 2008-09-24 06:28:12

    继续测试一下评论。

  32. 菜根 2008-11-11 12:55:47

    真复杂,玩不来

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍