迅睿cms升级php8前端报错系统故障如何解决

如果模板在使用PHP 7.x 是正常的,切换到PHP 8时前端报错系统故障,可以根据提示,在网站运行根目录下,找到index.php开启开发者模式,查看故障详细情况,然后根据提示做以下调整。

in_array函数

报错信息:in_array(): Argument #2 ($haystack) must be of type array, null given

报错原因:PHP 8在调用in_array函数时,如果传入的第二个参数不是数组类型,会报错。

解决办法:模板标签中使用的函数 in_array 改成 dr_in_array

数组标签

报错信息:Undefined constant xxxx

报错原因:如果数组标签的主键是字符类型,需要使用单引号包围。

解决办法:将{$aaa[xxx]}更改为{$aaa['xxx']}。

count函数

报错信息:count(): Argument #1 

报错原因:PHP 8在调用count函数时,如果参数不正确,会报错。

解决办法:模板标签中使用的函数 count 改成 dr_count

strlen函数

报错信息:strlen(): Argument #1 

报错原因:与count函数类似,如果strlen函数的参数不正确,也会报错。

解决办法:模板标签中使用的函数 strlen 改成 dr_strlen


其他问题无法自己解决,也可以联系本站客服帮你解决。