一、错误原因
其实从错误信息里就看出错误原因了:Array and string offset access syntax with curly braces is deprecated,这是 PHP 7.4 版本的更新,从 7.4 后,只能使用 $value[0] 的方式来获取字符串偏移,$value{0} 已经被弃用。
ThinkPHP 报错的原因是在 thinkphp\\library\\think\\db\\Query.php
的 568 行有一段代码用了 $value{0} 的方式:
$seq = (ord($value{0}) % $rule[\'num\']) + 1;
二、错误解决方法
解决方法也很简单,将 $value{0} 改成 $value[0] 就行了:
$seq = (ord($value[0]) % $rule[\'num\']) + 1;