迅睿cms升级php8前端报错系统故障如何解决
无需魔法,免费体验ChatGPT-4 / MJ绘图 等AI大模型!AI问答、写文案、做表格、绘图、写脚本、写代码...
如果模板在使用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
其他问题无法自己解决,也可以联系本站客服帮你解决。
声明:禁止复制、盗用、采集、发布本站内容到任何网站及各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。