WordPress站点出现Trying to access array offset警告,PHP版本适配异常求助
解决PHP警告:Trying to access array offset on value of type bool
问题根源
你使用的aq_resizer-1x.php是旧版图片处理脚本,在PHP7.4及以上版本(尤其是8.x)中,当脚本获取图片尺寸失败时,返回的$dims是布尔值false,但代码直接尝试访问它的数组偏移量(第86、87行),因此触发警告。
具体修复步骤
- 定位目标文件:通过FTP或主机控制面板的文件管理器,找到路径
/var/www/wp-content/themes/cardinal/includes/plugins/aq_resizer-1x.php - 修改代码逻辑:在第86行之前增加判断,确保
$dims是数组后再访问偏移量,替换原第86、87行代码:
或者用更严谨的分支写法:// 先判断$dims是否为数组,避免报错 $dst_w = is_array($dims) ? $dims[4] : 400; // 400为默认宽度,可按需修改 $dst_h = is_array($dims) ? $dims[5] : 300; // 300为默认高度,可按需修改if (!is_array($dims)) { // 尺寸获取失败时设置默认值 $dst_w = 400; $dst_h = 300; } else { $dst_w = $dims[4]; $dst_h = $dims[5]; } - 保存生效:修改后上传覆盖原文件,刷新站点查看警告是否消失。
额外优化建议
- 若之前关闭调试模式无效,检查
wp-config.php中的配置,确保设置为:
保存后清空浏览器缓存再访问站点。define('WP_DEBUG', false); define('WP_DEBUG_DISPLAY', false); - 你的主题及配套的Swift Framework、aq_resizer脚本都已停止维护,长期来看建议更换活跃更新的主题,避免后续出现更多PHP版本兼容问题。
内容的提问来源于stack exchange,提问作者Logans Heroes
相关产品推荐
相关产品推荐

