解决 Typecho 内置备份在恢复时出错

August 8, 2020 · 趣在折腾 · 306次阅读

前些天把本站博客引擎 Typecho 做了一次降级。

降级的原因是我此前使用的 1.2 (18.10.23) 开发版,配合 G 主题在对 MarkDown 的引用语法进行解析时,一直都有缩进异常的问题——虽然也不是什么大问题,但强迫症表示看着还是挺不爽的;再加上之前选用的是 SQLite 数据库,不能被 ExSearch 搜索插件支持。
于是乎,趁着主题升级的机会,就想着把博客引擎一并调整。

说干就干。
感觉也不复杂,把 1.1 (17.10.30) 正式版下过来,正常安装,再借助 Typecho 内置的备份还原功能转移数据就行了。
结果,当我兴致冲冲地准备还原时……
还原时的报错提示
啥啥啥……?
当时就有点懵——我备份文件损坏了吗?整个博客的数据都要打水漂了?回想起以前电子设备刷机时丢数据的场面,着实捏了把冷汗。

不过好在我有充足的网站数据备份,整站备份的那种。于是取出一份,登进后台,又导出了一次内置备份。
巧的是,依然报错。
巧了!
咳咳!
滑稽归滑稽,内心是真的慌。

冷静下来,尝试解决。
看样子是新版 Typecho 在数据库处理方面有所调整,并且可能并不兼容旧版本。所以大概也是会出现 MD 语法解析差异的原因所在了。
也就是说,应该只有往更高的版本,才能平滑升级。

与此同时,我也发现官方针对同样的反馈在2018年5月14日这天写了一个有“纠错模式”的版本(至于它和我在用的版本之间的先后顺序到底如何,我也有点乱,总之该版本是有这个功能的),那就姑且死马当作活马医——试试吧!

于是按照文件变动情况,把带数据的博客系统中的 /admin/backup.php/var/Typecho/Common.php/var/Widget/Backup.php 替换成支持“纠错模式”的版本,再登录后台界面,可以看到多出了一个“纠错模式”的复选框。
内置备份还原之纠错模式
截至目前,事情总算有点起色了。
可是看着多出来的复选框——它这个位置和说明提示,好像只有在恢复的时候才有用?!

额,不管了,试着勾选“纠错模式”导出了一份备份,再到低版本空白新站后台导入。就神奇般地成功了!

后续,还处理了一些内容:

  • 使用 phpMyAdmin 切换 MySQL 数据表类型为 utf8mb4 以解决 emoji 及其之后文章内容丢失的问题
  • 使用 Beyond Compare 比对主题代码变动,从而进行升级
  • 启用 ExSearch 插件,使博客支持搜索
  • 替换部分 CSS / JS 静态资源为七牛公共库

PS:期间还不慎因为忘记放行主机商安全组而打不开 phpMyAdmin,一度把自己整傻了……
没人能模仿我的操作,包括我自己
整个降级过程引发一系列事件,太迷了……
不过总之,最后都成功解决了。

如你所见,现在的博客是全新的版本。
没有语法解析异常,也有了新的主题特性,并且支持搜索访问延迟也更低了一点……
不错不错,鼓掌


来杯奶茶支持我ヽ(✿゚▽゚)ノ

Typecho

最后编辑于1个月前

添加新评论

  1. 2020-10-06 20:11

    居然敢用开发版

    回复
    1. 2020-10-06 23:08

      众所周知开发版比稳定版稳定

      回复
  2. 无声 无声
    2020-09-04 11:38

    我想问一下,就是整个网页这种背景图,在哪里搞的?

    回复
    1. 2020-09-09 21:36

      就是普普通通的壁纸……

      回复
  3. 2020-09-04 10:08

    diao 啊

    回复