Typecho搬家至TP-log过程吐槽

2周前 (04-27) 312℃ 0

前言

看标题按道理来说应该是记录吧?但是为什么是吐槽呢?因为我不会写长文,我喜欢吐槽那样想到啥写啥分段的那种哈哈。

再次要感谢“TP-log”作者“老司机(FLYER)”指导和答复才能让我又节省了几天时间哈哈,不会代码的小白就是这样难受o(╥﹏╥)o

起因

最开始我是因为想换个主题【新主题?怕你们不能接受诶】,又怕用户体验不太好,发表后得到很多博友的支持(ps:然后我就飘了)。在寻找的新的主题模板过程中发现了“TP-log”这个博客程序,看介绍和图片感觉很nice,而且目前版本才1.0我个人很喜欢体验新鲜的事物,然后就有了现在的文章了。

本地安装

没错我第一步安装就碰到问题了,提示报错如下:

创建数据表tp_blog成功 SQL语句执行失败SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'view' at row 3

这一步骤卡了我1小时,期间重复安装3次,百度半小时无果,最终我悟了可能mysql版本不支持,后切换mysql5.5版本安装成功!

0f5ccd0fa8e08dee695b2164993edcd2.png

成功安装以后,本地体验一番各种,感觉很不错,就研究起了怎么迁移数据库,具体看我发表的“为了不负你们的支持,我绝对把程序给换了~

转移数据库

这个是我最难得地方,花了我2、3天,真的是纯手动复制粘贴,没办法小白不会写代码,作者也说了没时间给我写转移数据库工具,只能自己来。

对这个数据库ID排序都是我手动排的哈哈,都是一列列复制粘贴的,但也是因为这个原因很多旧的ID连续不上去,导致二级回复出现了问题o(╥﹏╥)o

二级回复

前面的数据库在我慢慢的折腾中慢慢差不多了,于是我又测试了一下程序一些地方,结果就是发现二级回复了不了,提示500报错,我又去作者博客试了一下发现他也是一样的问题,为此我个给了作者发了邮件期待回复(3封),也因为前面折腾数据库身心俱乏不想折腾了,就有了“好吧我承认折腾失败了,休息休息”。

10f2cff6180ba6e4c227fc0f64598ae1.jpg

后面又因为“凡哥”评论我又折腾了起来,这次我终于被我搞定了二级评论出错的问题了。

b1d9ce405dd78a630bf8073bc2e9799f.jpg

我最开始分析,提示错误500是没有这个问题,我打开路径一看有啊?那就奇怪了,又百度了很久才知道这是ThinkPHP ajax 500请求也找到一个办法“thinkphp5.0未定义变量模板中提示错误”大概就是无视报错继续运行吧。

//在config.php文件顶部添加:
error\_reporting(E\_ERROR | E\_WARNING | E\_PARSE);

加上了这行代码以后成功评论,当我又发现了一个就是二级评论默认会带个@,虽然评论成功了没有@xxx让我不舒服不爽斯基,我又开始折腾起来,因为前面百度的时候顺便知道ThinkPHP 怎么开启调试,这次是终于让我找到原因了。

d2675af0b3fed9027e9aa8a35b29a0d2.png

8] ErrorException in Comment.php line 331
未定义变量: author

        $date['gid'] = $data['gid'];
        $date['pid'] = $data['pid'];
        $date['date'] = time();
        $date['poster'] = $data['poster'];
        if ($data['author'] != 0 || $data['author'] != '') {        
            $content = '@' . addslashes($author ) . ':' . $data['comment'];
            $date['comment'] = $content;
        }else{
        $date['comment'] = $data['comment'];
        }


        $date['mail'] = $data['mail'];
        $date['url'] = $data['url']?$data['url']:Core::loadAction("Setting/getSetting",['column'=>"site_host"]);
        $date['ip'] = Request::instance()->ip();

这样报错以后顺着报错找到问题,定位到这个地方,终于是解决了!!给$author定义成功解决~

$author=$data\['author'\];

23217ff9f5aee402d74f126a1ae5a08f.png

markdown转html

typecho的文章都是markdown格式,这里要么就是在数据库全给转成html格式,要么就是前段输出的时候改markdown格式,这里凡哥也是给我参考答案了“php 解析markdown ”但是那时候不懂这些模块的啥的,也折腾了几小时不懂就放弃了(ps:现在我估计有点思路能搞定了),最终方案手动转换,就是我复制出来这转换好,在粘贴回去。o(╥﹏╥)o

4f211d797bab1d20e5615ca5e0a04c53.png

首页缩略图

主题默认的是,你需要自己手动上传缩略图,如果没上传就是没有,那就输默认图片。但是我想改成,先判断是否存在上传的缩略图,不存在就输出取文章第一张图片作为缩略图,都没有呢?那就输出随机缩略图~

为此我也是百度了一大堆,但是一点实用性都没有,我小白看不懂,但是最终还是被我搞定了~

8241bfce73d55296c1dd9ae131df3246.png

代码如下:

application\\common.php 添加以下代码

//取文章内容第一张图片作为缩略图,没有就输出随机缩略图
// postimg($vo\['content'\]);
//{$vo.content|postimg}
//'{empty name="vo.thumb"}{$vo.content|postimg}{else/}{$vo.thumb}{/empty}'

function postimg($content){
$str = $content;
preg\_match('/\]\*?src="(\[^"\]\*?)"\[^>\]\*?>/i', $str, $match);
if (!isset($match\[1\])) {
    echo "https://picsum.photos/200/150";
} else {
    echo $match\[1\];
}

}

在修改: \\default\\index\\index.html 文件

把:

{empty name="vo.thumb"}\_\_THEMES\_\_/img/00.png{else/}{$vo.thumb}{/empty}

修改为:

{empty name="vo.thumb"}{$vo.content|postimg}{else/}{$vo.thumb}{/empty}

这里我也是修改了语法,不然原本我是直接在index.html 套用下面的语法

\]\*?src="(\[^"\]\*?)"\[^>\]\*?>/i',$str,$match); 


if (!isset($match\[1\])) {
echo "https://picsum.photos/200/150";
}else{
echo $match\[1\]; 
}
?>

搬家开始

上面都折腾差不多的时候,我已经开始准备搬家了,这次是一点问题都没有哈哈哈,我都规划了好了,考虑到以前的文章可能URL不一样,我考虑了两种方案:

一:使用百度网站改版URL匹配

这种方案就是麻烦了点,访问以前的文章跳转到新的地址,当然nginx设置301也可以但是我感觉麻烦。

b66b6c61ea03e3b4094f9d450f1387d8.png

二:下载整站为html

我这里是用了这个方案,就一个字简单方便,保持了原有的一切不变哈哈哈,我这里用了这个软件。

e474dd338ab9758490c85bb2f4a7d3bb.png

效果如下:

97c752586ec505a3a15a8ceeb64457cf.png

这个方案是最完美的哈哈,百度一些搜索引擎的收录不会掉,我又不用那么麻烦去设置301。

邮件通知

其实昨天3点就搞定了,但是我又发现了一件事情就算邮件通知没反应!!!我就又开始折腾了,各种找原因,一直从下午三点折腾到晚上7、8点简直了!

期间我也是各种排查换QQ邮箱,谷歌邮箱,换端口25、456、587、都没反应。于是我自己单端php发送邮件测试,这不是可以吗?

393d0af9b0dd9d5bc74dac5ccf09d459.jpg

其他排查过程省略.....  太难了。

最终无奈,我只能写邮件给作者了,估计很忙前面的邮件没有回复,我也没抱啥期望,但是这次作者给我回的很及时 哈哈

102de1e2f503514eace5030b98a08730.png

作者给我回了一句“还有,你评论通知开始了吗?”卧槽,一语提醒梦中人,我没注意看,好家伙折腾几小时就是眼瞎,没开你在怎么折腾也没用

b2328e1eb98b5c426d42d3b42efe84da.png

然后它重要可以了o(╥﹏╥)o,对了记得防火墙开放下端口,不然还是有你折腾的。

9d494b2e92480abe3fa969f38ecbd893.png

编辑器

昨天要写文章的时候,我又出问题了,这次我学聪明了,发邮件 哈哈 事实证明我是对的!

期间我也是以为php版本不兼容导致报错,就从7.4切换7.3还报错,切换5.6报错更严重了,切换回来发邮件给作者。

adb9ef71688f481fd7ca49c1a846e78a.jpg

62d9767e777cd1b0bb26e556955a7d0e.jpg

作者给我答复:

863ab2ec0dfaccf9628b920be517b7a5.png

好家伙,原来可以切换编辑器的,然后今天按照作者的给的步骤切换了ueditor编辑器,因为以前用过,切换好了没问题,我就写这篇文章了。(ps:这个tp和typechp真的是各种不一样,不习惯 哈哈)

其实本来想自己折腾个markdown插件,但是看了作者给我发的两个插件源码,没思路啊,我小白,不然搞个新的编辑器,习惯了markdown编辑器,富文本编辑器虽然多,但是不习惯了。

最后的最后,我给我鸽了快一星期的博友们道个歉!一直没回复,我是个不折腾好坚决不继续其他的人,我就是除了在折腾博客会这样,其他呵呵没感觉,能不折腾就不折腾哈哈哈!

抱歉!抱歉!抱歉!

这里也是要感谢博客作者的,邮件回复!感觉经常打扰到他不好意思了!

313154383b2eeb100cb3cf1e7df2b82d.png

标签: none

非特殊说明,本博所有文章均为博主原创。

吐槽啦~



已有 18 条评论


  1. 林羽凡 指导员 1周前 (05-02) #18
    \<\span>没解析呀
  2. 飞牛士 游客 2周前 (04-28) #17
    我说怎么以为进错地方了,换程序了啊。看起来不错。
    夏目贵志 游客 2周前 (04-28) #17-1
    @飞牛士:哈哈 折腾了很久,昨天晚上访问你博客还没有更新? 工作怎么样了?
  3. 子午 游客 2周前 (04-27) #16
    你这也太能折腾了,没转换工具不能转,我的博客就是留言板以前就因为没转换工具,整个留言板的数据库都没了。很多美好的回忆都没了。
  4. 知怪网 游客 2周前 (04-27) #15
    太复杂了,不过总算搞好了
    夏目贵志 游客 2周前 (04-27) #15-1
    @知怪网:是啊,折腾哭了。 你的网站我前面去看了 很赞欸,详细~
  5. 大峰 游客 2周前 (04-27) #14
    这是新的博客系统吗? 动态博客吗?
    Mr.Chou 游客 2周前 (04-27) #14-3
    @大峰:看来是动态博客,由疯狂老司机出版..
    夏目贵志 游客 2周前 (04-27) #14-2
    @Mr.Chou:对就是疯狂老司机出版的,你当初看过的~
    夏目贵志 游客 2周前 (04-27) #14-1
    @大峰:是新的博客系统 tp-log 底部有版权~
  6. 月西楼 游客 2周前 (04-27) #13
    新鲜的,才是刺激的。
    夏目贵志 游客 2周前 (04-27) #13-1
    @月西楼:偶尔看看路边其他风景还是不错的选择。
  7. 林羽凡 指导员 2周前 (04-27) #12
    这个博客系统如果你想完成自己想要的功能,估计还得折腾一段时间,你肯定不甘心。
    夏目贵志 游客 2周前 (04-27) #12-1
    @林羽凡:啊啊啊,折腾不动了
  8. 老麦 游客 2周前 (04-27) #11
    不错不错,最终还是折腾上了。
    夏目贵志 游客 2周前 (04-27) #11-1
    @老麦:还是有其他小问题,邮件通知,有时候能收到有时候不能,不知道是不是邮箱的问题,还有feed订阅生成有问题 我还要在折腾一下
  9. zizdog 游客 2周前 (04-27) #10
    年轻人就是有精气神:保持好奇, 保持折腾。
    夏目贵志 游客 2周前 (04-27) #10-1
    @zizdog:也就是折腾博客我这样了,哈哈 不然就是闲鱼一枚。