zblog博客asp转换php遇到的坑,要用Z-BlogPHP转换工具(修复版)
昨天倒腾了一天,终于把用了好几年的z-blog程序asp版本换成php版本了!为什么我要换成php版本呢?因为php版本可以使用SQLite数据库,直接跟程序一块,搬家好搬家。php版本默认的主题拓源纯净版,非常不错,符合我的使用习惯(不要花里胡哨的),于是就下定决心改成最新版的zblog。不得不说,现有的工具在用的时候还是有点问题的。下面就来说说我在asp转php的改版过程中遇到的一些坑。
1、数据导出导入转换插件的选取。
如果你选用zblog应用中心里自带的插件,有两个免费的可选:Zblog 1.8数据在线转换插件、Z-BlogPHP转换工具(asp版本的叫Z-BlogASP数据导出,php版本的叫Z-BlogPHP数据导入)。经测试,前者号称在线导入,一键导入,免去了zblog1.8升级到2.X再安装ASP插件,导出数据再FTP传到ZBP里,再安装PHP插件等繁琐问题。但是在使用的过程中,出现500错误,连接不上等问题,可能跟网站环境等有关,更新日期为更新日期: 2015-01-11,不知道是我使用方法不对还是系统环境问题,反正是想省事没省上。
后者,导出导入倒是没多大问题,但是发现了几个BUG:导出的数据没有标签(所以得用Z-BlogPHP转换工具(修复版).zba,在应用商店里没有,放一下别人的链接https://pan.baidu.com/s/1nvlG6z3)、文章导入后在前台不显示(后面会说解决方法,推测可能跟zblog版本有关,因为这个插件也是2015年的了,最新的zblog php版本更新于2021年 )、附件管理里面时间不对(虽然也用不到)。
百度搜出来一个“zblogasp转换到zblogphp的方法和步骤 附转换插件下载”天兴工作室的文章,里面的插件也用过,在Z-BlogASP下载安装插件【asp2php(1)】,在导出过程中,一直转圈,最后响应时间过长,没有成功导出。修改了程序池的响应时间也没成功,失败~甚至修改了放在根目录里的tozbp.asp(发现调用的文件路径不对,就用了cmd.asp里一点调用文件代码),能成功访问tozbp.asp了,但是还是导不出来,说是连接不上……没办法,也没成功!
2、解决文章没有标签问题BUG。
抱着试试的态度,没有全新安装php版本,而是在没有导入标签的zblog重新用Z-BlogPHP转换工具(修复版).zba导出数据,再导入,发现标签回来了!
3、解决文章在前台不显示问题。
推测这个问题出现,可能跟插件老旧有关,没有及时随着php版本更新而更新。一开始发现前台不显示文章,只有重新编辑文章把文章置顶,就显示了。再取消置顶,也能显示。但是历史文章这么多,一个个的重新编辑也非常费时,怎么办呢?还好我用的是SQLite数据库,把数据可下载下来研究了下,发现能显示的文章zbp-post在log_lsTop里面数值为0,而不显示的文章显示为空,用SQLite编辑软件SQLiteStudio把空的补充上0就正常显示了!如果使用的mysql数据库就更好解决了,直接用在线数据库管理工具同样的操作就可以!上个图试试水印插件好不好用~
4、附件管理里面时间不对(附件日期都变成1970-01-01了)。
为了查清楚问题根源,还是查看数据库里面导入的信息,发现zbp_upload里面的ul_PostTime导入的信息是时间格式,而能正确显示时间的信息是时间戳。看到网上其他教程说修改ul_posttime字段类型为varchar(50),那个是sql数据库,我没成功。我参考了pbootcms的SQLite数据库里时间字段类型,改成了integer,然后把所有时间格式的数据都批量转换成时间戳,成功解决!
差不多就遇到这些坑了吧,今天已经成功切换过来了,不知道在使用中还会不会遇到其它问题,总之,遇到BUG杀BUG!希望本文能帮到遇到同类问题的朋友!