升级到 MovableType 7.0.1

  • Posted on | Updated on
  • by
  • in

在尝试了三次后,终于把 SEO 网站优化及网站推广,升级到最新的 MovableType7.0.1。
大概的介绍一下我升级的过程,以及遇到的问题。

首先在做任何系统升级之前,都要做好备份。

备份

在 MovableType 6 的管理后台,系统菜单,备份数据库,并下载到本地,这是整个 MovableType 的内容,包括所有的图片,上传的文件等等。

mt-database-backup.jpg在 MovableType 6 的管理后台,在本 Blog ,或者说子站之下,选择 Tools, Export Entries,导出所有的文章。同样的也导出模版样式文件。

mt-blog-export-entries.jpg然后,使用 phpmyadmin 工具,把整个数据库都备份下来。

最后的备份,就是 SSH 到服务器上,打包整个网站,包括各种文件和 MovableType 系统。

这样的备份算是非常完整了。哪怕此时系统崩溃,我也可以凭这些备份,重建系统的。

升级尝试

尝试升级的过程是这样,数据库方面,我是在 phpmyadmin 管理器中,把原数据库复制到一个新数据库,升级只升级这个新数据库。这样万一出问题,需要回到原来的数据库,也方便的很。

MovableType 程序文件方面,也是类似的操作,复制一份到新目录,先尝试把 MovableType 7的新文件覆盖原来目录,尝试升级,数据库升级没有问题,升级后可以登录新系统。

但是问题出现在原来的系统是由 5.x 升级到 6.x,而现在的 7.x 系统同之前有很大的变化,我又安装过不少的插件,先出现的问题是编辑器消失了,查看资源是缺少文件,而缺少的文件根本是在新系统和旧系统中都不存在的。所以呢这样无处下手,就放弃第一次的升级了。

第二次升级的过程是这样,我试着新装一套干净系统,然后把文章导入,就是用之前的文章备份来导入,导入时成功的,但是缺少了很多东西,我必须手工加入,比如模版,插件等等,包括系统层面的设置和网站层面的设置,都从原来的系统手工复制过来。之前已经把那些设置页面的主要内容,抄写在笔记上,模版主要是 URL 的设置,要保持一致。在添加 Page 时,出现了一个问题,出现的错误信息是:

Saving Entry failed: Undefined subroutine &Trackback::Entry::extract_domains called

这个错误信息很奇怪,在一时搜索不到相关信息的情况下,我也放弃了这此升级。

今天,重新尝试,首先我以为是 Perl 的模块有安装不全的地方,在比较了之前我安装的测试平台和现在的生产平台之间的区别后,发现不是这个问题。

MovableType 7.0 的默认设置,是不会出现这个错误信息的。于是,我重建了一个干净系统,对照着 6.x 系统的配置,修改一个设置,就更新一次这个 Page 页面,直到看到这个设置。

这个错误在系统日志里显示如下:

Internal callback died with: Undefined subroutine &Trackback::Entry::extract_domains called at /home/davidyin/sample-site.com/mt/plugins/Trackback/lib/Trackback/Entry.pm line 149.

基本上我以为这是一个 bug。

找到问题就好办了,只要这两个选项都不选,就可以了。

升级成功

最后的升级成功,其实我是放弃插件的支持,主要是 PostTwiOAuth,这个插件对于我非常有用,它会每次发布新文章时,自动发布一个 tweet,可惜在 7.0 下不工作了。

因为这次升级等同于重新做一遍,好处是干净了许多,系统内没有旧的文件了,坏处是是手工做了很多复制黏贴的工作,把模版恢复到原来的样子,以及保持 URL 的不变。

最后说一下,最新的 MovableType Pro r.4208,就是 MovableType 7.0.1版。

Update on 2018.7.16

Masahiro Iuchi 确认这是一个已知的 bug,会在下一个版本时修复,临时修复方式在这里

Github issue


作者: David Yin
原载: SEO 网站优化推广
版权所有。转载时必须以链接形式注明作者和及本声明。