出现这个问题大多数都是在当前PHP版本下使用一些(+ - / * % << >> | & ^) 的运算符号所导致的。
我只看到在开发版最新版本出现过,解决方法大家把报错复制到网上查一下应该就有了,这边就水一篇文章,两种最简单的方法
第一种:
在模板header.php中加入error_reporting(0);
众所周知,屏蔽掉=没有这个错误。
第二种
大家都知道PHP有个intval函数,用intval方法转化为数值型就不会出现这个报错了。
比如这次我们遇到的是
Warning: A non-numeric value encountered in /xxxx.com/var/Typecho/Common.php on line 748

在Common.php的748行找到

$tLength = $length < $iLength ? ($length - self::strLen($trim)) : $length;

将这串改为

$tLength = $length < $iLength ? (intval($length) - self::strLen($trim)) : $length;

即可