12下一页
返回列表 发帖
查看: 1082|回复: 15

[BUG提交] 部分页面会报错

13

主题

84

回帖

2

粉丝

渐入佳境

贡献
0 点
金币
5 个
产品版本
X5.0+
发表于 2026-3-25 21:35:58 |福建| 查看全部 |阅读模式
本帖最后由 iwuyou 于 2026-3-25 21:47 编辑

报错页面:https://bbs.wuyou.net/forum.php?mod=forumdisplay&fid=81&page=10

https://bbs.wuyou.net/forum.php?mod=forumdisplay&fid=30&page=53

截屏2026-03-25 21.30.32.png

前后页面正常,感觉是因为php 8.4.19 触发,不允许字符串连接用"+",要用".",不知道哪行代码有问题,还是数据表有问题?要如何修正?

https://bbs.wuyou.net/forum.php?mod=forumdisplay&fid=81&page=9
https://bbs.wuyou.net/forum.php?mod=forumdisplay&fid=81&page=11





回复

使用道具 举报

46

主题

6818

回帖

19

粉丝

应用开发者

贡献
673 点
金币
1461 个
产品版本
X5.0+
QQ
发表于 2026-3-25 21:52:43 |浙江来自手机 | 查看全部
排查插件
回复

使用道具 举报

13

主题

84

回帖

2

粉丝

渐入佳境

贡献
0 点
金币
5 个
产品版本
X5.0+
 楼主| 发表于 2026-3-25 23:12:04 |福建| 查看全部
本帖最后由 iwuyou 于 2026-3-25 23:30 编辑
湖中沉 发表于 2026-3-25 21:52
排查插件

这个错误会有规律,如前面删除一部分帖子以后,出错的页码会往前移动。
测试分析后,与某个帖子有关(这两个链接中都有一个共同特点,就是都有一个帖子带被移动的标志),它出现在列表哪一页中,那一页就会出错。
已经找到问题代码,修改后,就不会报错了。
source/app/forum/module/forumdisplay.php
第770行
  1. $_G['forum_threadlist'][$index]['views'] += $value['addviews'];
复制代码
改为
  1. $_G['forum_threadlist'][$index]['views'] = intval($_G['forum_threadlist'][$index]['views']) + intval($value['addviews']);
复制代码

请官方确认是否是BUG?


回复

使用道具 举报

98

主题

650

回帖

22

粉丝

管理员

贡献
31 点
金币
75 个
产品版本
X5.0+
发表于 2026-3-26 08:17:14 |北京| 查看全部
官方发布的代码里 forumdisplay 这文件就没1539行,总共就 900+ 行
回复

使用道具 举报

13

主题

84

回帖

2

粉丝

渐入佳境

贡献
0 点
金币
5 个
产品版本
X5.0+
 楼主| 发表于 2026-3-26 08:58:38 |福建| 查看全部
本帖最后由 iwuyou 于 2026-3-26 09:27 编辑
monkeye 发表于 2026-3-26 08:17
官方发布的代码里 forumdisplay 这文件就没1539行,总共就 900+ 行

这是程序的BUG,错误统计输出的结果,实际上正如你所说的,只有900+。
在这个问题上,刚开始我也被带偏了,无法直接定位出错位置。
后来对列表第1页的帖子进行删除,发现出错列表页码会前移,从而猜测某一个帖子引发BUG。
最终发现是移帖引起的,这个出错列表页有一个移帖,应该是移帖的回复统计数值是"-",不是数字,直接进行+运算,低版本PHP没有问题,在php8.4.19上会出错。
如果删除这个帖子,原程序就不会报错。
你可以找一个有移帖标志的列表页,试试会不会出错?
回复

使用道具 举报

13

主题

84

回帖

2

粉丝

渐入佳境

贡献
0 点
金币
5 个
产品版本
X5.0+
 楼主| 发表于 2026-3-26 09:02:23 |福建| 查看全部
截屏2026-03-26 08.59.51.png 错误页所在位置
回复

使用道具 举报

98

主题

650

回帖

22

粉丝

管理员

贡献
31 点
金币
75 个
产品版本
X5.0+
发表于 2026-3-26 09:33:29 |北京| 查看全部
我关注的是 1539 行问题,1539 行肯定不会出错,这是php返回的,你那里为啥连行数都报错?那也是你 php 版本的问题。我这里行数是没问题的。
具体 views 因 - 符号累加出错你反馈的正确
回复

使用道具 举报

13

主题

84

回帖

2

粉丝

渐入佳境

贡献
0 点
金币
5 个
产品版本
X5.0+
 楼主| 发表于 2026-3-26 09:59:56 |福建| 查看全部
monkeye 发表于 2026-3-26 09:33
我关注的是 1539 行问题,1539 行肯定不会出错,这是php返回的,你那里为啥连行数都报错?那也是你 php 版 ...

我用的系统是 fedora server 43,用dnf install php -y, 安装的php 版本是 8.4.19.
这个1539 行问题,让我无法定位。
后来我在虚拟机模拟平台,删除列表第一页上的帖子以后,再点出错的页面时,才有提示 770行,才让我找到准确位置。

以下是有准确定位时的提示。

Discuz! System Error
Time: 2026-03-25 22:52:32 +0800 IP: 172.16.250.1 BackTraceID: 60d7d8b3cbf699b47efb42879d57f517

Unsupported operand types: string + string
PHP Debug

No.        File        Code
1        forum.php:11        require(%s)
2        index.php:27        require(%s)
3        source/app/forum/forum.php:72        require_once()
4        source/app/forum/module/forumdisplay.php:770        break()
回复

使用道具 举报

98

主题

650

回帖

22

粉丝

管理员

贡献
31 点
金币
75 个
产品版本
X5.0+
发表于 2026-3-26 10:03:23 |北京| 查看全部
gitee上已经修了,下次更新的时候会 fixed

770 也不对,行数错了,应该是 815 行。


如果php版本行号都报错,是没法正常定位错误的
回复

使用道具 举报

13

主题

84

回帖

2

粉丝

渐入佳境

贡献
0 点
金币
5 个
产品版本
X5.0+
 楼主| 发表于 2026-3-26 10:10:34 |福建| 查看全部
monkeye 发表于 2026-3-26 09:33
我关注的是 1539 行问题,1539 行肯定不会出错,这是php返回的,你那里为啥连行数都报错?那也是你 php 版 ...

1539行报错问题,是否与当前在第10页这个参数有关?
1539行报错,是第一时间出现的报错。
当删除前面部分帖以后,出错页变成第9页时,才显示正确的位置。

有可能是我后来把
  1. $topicposts = $thread['special'] ? $thread['replies'] : $thread['replies'] + 1;
复制代码



  1. $topicposts = $thread['special'] ? intval($thread['replies']) : intval($thread['replies']) + 1;
复制代码


才有770位置正确提示。
具体我还得返回测试环境,看看是不是与上面这个改动有关?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2026-5-11 00:38 , Processed in 0.051140 second(s), 12 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2026 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表