pbootcms中遇到Modulo by zero问题怎么处理
时间 :
2023-02-21,16:34:49
编辑:临沂网站建设
如下图,今天打开页面的时候突然遇到了以下的报错信息,经过一番排查找到了原因,下面讲述一下处理过程。
问题报错原因:在pb的if标签中,我们的条件判断语句含有%符号便会报以上问题。比较常见的就是判断图片路径是否是默认图片路径的时候,如果我们的图片名称中含有%符号,那么程序会误以为这是进行一个求余计算,然后进行计算的时候因为被余数是一个字符串不是数字所以这里就出现了这个问题。
处理方案:
1)简单处理就是找到对应的图片(大概率是图片参与的问题),然后把图片中的%字符去掉就可以了。
2)根本处理方法,修改coreunctionhelper.php下的源码,在报错的位置之前添加判断语句,判断被余数是否是数字类型是的话正常进行,不是的话就不进行求余计算了。
function compareSymbol2($str){ $res = null; $symbol2 = ['%']; foreach ($symbol2 as $items) { if (strpos($str, $items) !== false) { $arr = explode($items, $str); if ($items == '%') { if(is_numeric($arr[1])){ $res = $arr[0] % $arr[1]; } } break; } } if($res === null) { $str = trim($str); $str = trim($str,"'"); $res = (string)$str; } return $res; }
其中
if(is_numeric($arr[1]))
这个判断语句就是我新增的。
转载:欢迎访问临沂网站建站,如果转载本文pbootcms中遇到Modulo by zero问题怎么处理,请注明本文转载出处。本文链接地址是:/twjc/1623.html
上一篇 :必应如何提高每日提交额度 打印 下一篇 : 没有了!