切换到php8.0后 z-blog 出现 Undefined variable 告警错误

原创 pcp44  2026-02-24 19:36:42  阅读 18 次 评论 0 条
摘要:

近期突然发现 评论区 有很多人都重复发多条评论。一开始以为是 被认定垃圾评论引起。直到自己回复才发现提示 “Undefined variable $commentRootFloor”的告警提示。即,变量在使用前未被赋值或者在当前作用域中不存在。实际上评论内容已提交,只是在显示的时候 再次插入式加载时,$commentRootFloor变量已经被释放,导致if语句直接调用 

近期突然发现 评论区 有很多人都重复发多条评论。一开始以为是 被认定垃圾评论引起。直到自己回复才发现提示 “Undefined variable $commentRootFloor”的告警提示。即,变量在使用前未被赋值或者在当前作用域中不存在。实际上评论内容已提交,只是在显示的时候 再次插入式加载时,$commentRootFloor变量已经被释放,导致if语句直接调用 $commentRootFloor(没有了声明或赋值)时告警。

造成这个原因的根源在于 PHP后台从PHP7.2 切换到了PHP8.0,PHP 8.0 的一些新特性或者更严格的错误报告设置导致的。但是不好再次赋值,故在if语句前加了

if (!isset($commentRootFloor)){    $commentRootFloor = 0;} // 设置默认值

image.png

本文地址:https://gx86.cn/?id=124
版权声明:本文为原创文章,版权归 pcp44 所有,欢迎分享本文,转载请保留出处!如有侵权,请留言或邮件告知,万分感谢。
NEXT:已经是最新一篇了

发表评论


表情

还没有留言,还不快点抢沙发?