Typecho提交评论BUG
in Skill with 1064 Views

Typecho提交评论BUG

in Skill with 1065 Views

昨天偶然间在QQ中打开自己的博客,由于这两天在测试评论功能,所以在QQ打开博客后准备试着留言一下看看,诡异的事情发生了,点击提交按钮后出现500界面,当时我是懵逼的,什么鬼,明明很正常的留言为什么提交会出现500。

冷静一番后,首先怀疑是不是我手机问题,开始把抽屉里压箱底的手机都翻出来装上QQ试试,经过测试,ios10.3.3下的QQ、ios12.4下的QQ以及N部安卓手机QQ打开博客进行评论都出现了无法提交的情况。

在非常郁闷的时候,突然想到,typecho可以打开调试模式(非常推荐大家在网站有问题的时候打开调试模式看报错),立即在config.inc.php文件结尾处加上define('__TYPECHO_DEBUG__',true);,然后重新再QQ中提交评论,错误页面显示如下代码:

SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'agent' at row 1
Typecho_Db_Query_Exception: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'agent' at row 1 in /www/wwwroot/jdeal_cn/var/Typecho/Db/Adapter/Pdo.php:105
Stack trace:
#0 /www/wwwroot/jdeal_cn/var/Typecho/Db.php(353): Typecho_Db_Adapter_Pdo->query('INSERT INTO typ...', Object(PDO), 2, 'INSERT')
#1 /www/wwwroot/jdeal_cn/var/Widget/Abstract/Comments.php(189): Typecho_Db->query(Object(Typecho_Db_Query))
#2 /www/wwwroot/jdeal_cn/var/Widget/Feedback.php(140): Widget_Abstract_Comments->insert(Array)
#3 /www/wwwroot/jdeal_cn/var/Widget/Feedback.php(336): Widget_Feedback->comment()
#4 /www/wwwroot/jdeal_cn/var/Typecho/Router.php(138): Widget_Feedback->action()
#5 /www/wwwroot/jdeal_cn/index.php(26): Typecho_Router::dispatch()
#6 {main}

简单了看了下,说是数据库里第1行的“agent”列的数据太长,作为小白的我打开数据库查看了下,agent是获取操作系统及浏览器的。

那大概意思就是说在QQ中评论typecho博客时,由于获取到QQ内置浏览器agent信息过长导致无法写入数据,那么就好办了,打开agent标签,将原来的varchar(200)修改为varchar(400),就是将最大字符扩大到400字符,然后保存测试。

这次没有再出现错误了,可以顺利提交。然后我去数据库看了下QQ内置浏览器的agent,发现确实很长啊,一共230多字符,怪不得200字符时报错。

因为可能有很少人在QQ中打开typecho博客并且评论,所以说这可能是个不算BUG的BUG,但是博主的强迫症导致我最终解决了这个问题。

博主也不是大神,也不知道这样改了最大字符数会不会对网站产生什么影响,反正我现在用着挺好,没有问题,哈哈。你也可以试试在QQ中打开你的博客(只针对typecho系统)评论下试试,看可以提交吗?

如果本文对您有用的话,欢迎在下方留言评论哦~
发表评论
选择表情
  1. 艾米
    A罩

    看着很厉害的亚子

    火狐浏览器 68 山东省 电信
    1. Jdeal
      主人
      @艾米

      没有没有,小白一个 aru_33.png

      Chrome 76 江苏省无锡市 电信
  2. zmmio
    B罩

    来啦来啦,同样的主题,同样的爱折腾,哈哈! aru_23.png

    Email浏览器 四川省 移动数据上网公共出口
    1. Jdeal
      主人
      @zmmio

      这速度,可以的,兄弟是坐火箭来的吧~ aru_24.png

      Chrome 76 江苏省无锡市 电信
      1. zmmio
        B罩
        @Jdeal

        看到你在我哪里来了,我瞬间就乘坐宇宙飞船来了,哈哈

        Email浏览器 四川省 移动数据上网公共出口