近期突然发现 评论区 有很多人都重复发多条评论。一开始以为是 被认定垃圾评论引起。直到自己回复才发现提示 “Undefined variable $commentRootFloor”的告警提示。即,变量在使用前未被赋值或者在当前作用域中不存在。实际上评论内容已提交,只是在显示的时候 再次插入式加载时,$commentRootFloor变量已经被释放,导致if语句直接调用 $commentRootFloor(没有了声明或赋值)时告警。
造成这个原因的根源在于 PHP后台从PHP7.2 切换到了PHP8.0,PHP 8.0 的一些新特性或者更严格的错误报告设置导致的。但是不好再次赋值,故在if语句前加了
if (!isset($commentRootFloor)){ $commentRootFloor = 0;} // 设置默认值

如果上文对你有用,请留言支持,让更多人信赖。如果遇到问题或分享经验,请下方留言,共同学习。
发表评论