Z-BlogPHP显示错误Undefined array key 0 (set_error_handler)的解决办法

今天打开博客的时候,意外发现页面,打开均显示错误:Undefined array key 0 (set_error_handler)。

博客程序采用的是Z-BlogPHP。百度了一圈没有找到解决办法,在官方论坛里也没找到解决办法。

于是开始自己排查原因。我服务器采用的PHP8.0,主题:CMS文章模板(作者: 老白)。

**排查步骤一:**通过观察发现,某些不含有二级分类的分类页面,以及发布到这些分类的文章,打开均含有这个错误,而那些有二级分类的,打开就不显示这个错误,初步判断应该是模板语法写得不规范导致不兼容PHP8的问题。

于是,自己手工在这些错误的文章所在的分类下添加了下级分类,此时错误消失。

但没多久,即使有下级分类,错误又再一次重现,说明不是缺乏二级分类这个原因。

**排查步骤二:**在后台切换为官方默认模板,发现没有任何错误,说明了错误确实出现在这个模板上面。

于是在后台设置调试模式,发现错误描述为:

文件位置:zb_users/theme/yd0825/functions/Common.php 出错在第16行。

13 if (isset($related->Metas->pic)) {

14 thumb = related->Metas->pic;

15 } elseif ( isset(matchContent\[1\]\[0\]) \|\| related->ImageCount >= '1' ) {

16 thumb = matchContent10;

17 } else {

18 if ($zbp->Config('yd0825')->noimgstyle == '1') {

19 thumb = zbp->Config('yd0825')->noimg;

20 }elseif($zbp->Config('yd0825')->noimgstyle == '2'){

21 thumb=zbp->host . "zb_users/theme/" .zbp-\>theme. "/include/random/" .temp. ".jpg";

好家伙,原来是获取文章缩略图时出错了。我想不明白的是,第15行,既然"isset(matchContent\[1\]\[0\])"这个条件都不能满足的话,直接使用"matchContent10"又怎么可能获取到值啊!啥逻辑啊?于是,打开这个Common.php源文件,直接将15行代码修改为:

} elseif ( isset($matchContent10) ) {

刷新页面,错误消失,至此问题解决了。

想用这个模板的朋友不妨试试。如果要官方的解决方法,只能等模板作者来修复这个BUG了。

修改后的代码为:

**题外话:**随便看了源码发现还有一个明显的BUG。

在zb_users/theme/yd0825/functions/Common.php 文件的第9行也存在明显的BUG:

$pattern = "/<img\|IMG.*?src=\\'\|\\"(.*?(?:\\.gif\|\\.jpg\|\\.png))\\'\|\\".*?\\/?>/";

看到没?这个正则写得也有问题,难道图片URL的格式就.gif、.jpg和.png这三种?事实上你转载别的网站的文章,图片格式远远多于这三种,而且还有很多链接的图片URL是没有后缀的。

我的博客之所以出现错误,问题的原因就是刚好那个分类下有2篇文章的图片是外链且没有图片后缀的。

至此,出现问题的BUG真相大白了。

原文链接(转载需注明来源):Z-BlogPHP显示错误Undefined array key 0 (set_error_handler)的解决办法 - 其他 - 5300.CN今天打开博客的时候,意外发现页面,打开均显示错误:Undefined array key 0 (set_error_handler)。博客程序采用的是Z-BlogPHP。百度了一圈没有找到解决办法,在官方论坛里也没找到解决办法。于是开始自己排查原因。我服务器采用的PHP...https://5300.cn/blog/21

相关推荐
唐青枫1 小时前
Php Doctrine ORM 实战详解:从实体映射到查询、关联与事务
php·symfony
小德车机导航2 小时前
【资源编号:292】高德地图 v16.17.3.1403 低配车机专属定制修改版
教程·技术
一直奔跑在路上2 小时前
深入浅出RDMA:原理、应用与实战指南
开发语言·php
右耳朵猫AI3 小时前
PHP周刊2026W23 | Composer 2.10、Symfony 8.1、Twig 3.27.1、PHP 8.5、Laravel AI SDK
php·composer·symfony
2401_8346369913 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
绵绵细雨中的乡音1 天前
监控显示一切正常,可用户根本打不开网站——Blackbox Exporter帮我找到了真相(1)
开发语言·php
右耳朵猫AI1 天前
PHP周刊2026W22 | WordPress 7.0发布、Laravel 13.10.0、Polyfill 1.38.1、Symfony 8.1
php·laravel·symfony
AC赳赳老秦1 天前
OpenClaw+AWS 深度应用:自动生成 CloudFormation 模板、批量管理 S3 存储桶
java·python·面试·职场和发展·php·deepseek·openclaw
IpdataCloud1 天前
信贷审核中如何验证用户地址与IP属地一致性?用IP查询工具实现反欺诈
开发语言·tcp/ip·金融·php·ip
安妮的小熊呢1 天前
CRMEB BZ v6.0 使用教程:从安装部署到后台基础配置
php·thinkphp·电商系统·crmeb