男的舔女的下面视频在线播放-少妇愉情理仑片高潮日本-久久久久久国产一区二区三区-麻豆精品一区二区综合-国产精品超碰在线观看-网红极品女神精品视频在线-国产亚洲综合777-高清性视频一区二区播放-中文字幕第一页亚洲天堂

Discuz! 官方交流社區(qū)

標題: 部分頁面會報錯 [打印本頁]

作者: iwuyou    時間: 2026-3-25 21:35
標題: 部分頁面會報錯
本帖最后由 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

(, 下載次數(shù): 17)

前后頁面正常,感覺是因為php 8.4.19 觸發(fā),不允許字符串連接用"+",要用".",不知道哪行代碼有問題,還是數(shù)據(jù)表有問題?要如何修正?

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






作者: 湖中沉    時間: 2026-3-25 21:52
排查插件
作者: iwuyou    時間: 2026-3-25 23:12
本帖最后由 iwuyou 于 2026-3-25 23:30 編輯
湖中沉 發(fā)表于 2026-3-25 21:52
排查插件

這個錯誤會有規(guī)律,如前面刪除一部分帖子以后,出錯的頁碼會往前移動。
測試分析后,與某個帖子有關(guān)(這兩個鏈接中都有一個共同特點,就是都有一個帖子帶被移動的標志),它出現(xiàn)在列表哪一頁中,那一頁就會出錯。
已經(jīng)找到問題代碼,修改后,就不會報錯了。
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?



作者: monkeye    時間: 2026-3-26 08:17
官方發(fā)布的代碼里 forumdisplay 這文件就沒1539行,總共就 900+ 行
作者: iwuyou    時間: 2026-3-26 08:58
本帖最后由 iwuyou 于 2026-3-26 09:27 編輯
monkeye 發(fā)表于 2026-3-26 08:17
官方發(fā)布的代碼里 forumdisplay 這文件就沒1539行,總共就 900+ 行

這是程序的BUG,錯誤統(tǒng)計輸出的結(jié)果,實際上正如你所說的,只有900+。
在這個問題上,剛開始我也被帶偏了,無法直接定位出錯位置。
后來對列表第1頁的帖子進行刪除,發(fā)現(xiàn)出錯列表頁碼會前移,從而猜測某一個帖子引發(fā)BUG。
最終發(fā)現(xiàn)是移帖引起的,這個出錯列表頁有一個移帖,應該是移帖的回復統(tǒng)計數(shù)值是"-",不是數(shù)字,直接進行+運算,低版本PHP沒有問題,在php8.4.19上會出錯。
如果刪除這個帖子,原程序就不會報錯。
你可以找一個有移帖標志的列表頁,試試會不會出錯?
作者: iwuyou    時間: 2026-3-26 09:02
(, 下載次數(shù): 18) 錯誤頁所在位置

作者: monkeye    時間: 2026-3-26 09:33
我關(guān)注的是 1539 行問題,1539 行肯定不會出錯,這是php返回的,你那里為啥連行數(shù)都報錯?那也是你 php 版本的問題。我這里行數(shù)是沒問題的。
具體 views 因 - 符號累加出錯你反饋的正確
作者: iwuyou    時間: 2026-3-26 09:59
monkeye 發(fā)表于 2026-3-26 09:33
我關(guān)注的是 1539 行問題,1539 行肯定不會出錯,這是php返回的,你那里為啥連行數(shù)都報錯?那也是你 php 版 ...

我用的系統(tǒng)是 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()
作者: monkeye    時間: 2026-3-26 10:03
gitee上已經(jīng)修了,下次更新的時候會 fixed

770 也不對,行數(shù)錯了,應該是 815 行。


如果php版本行號都報錯,是沒法正常定位錯誤的

作者: iwuyou    時間: 2026-3-26 10:10
monkeye 發(fā)表于 2026-3-26 09:33
我關(guān)注的是 1539 行問題,1539 行肯定不會出錯,這是php返回的,你那里為啥連行數(shù)都報錯?那也是你 php 版 ...

1539行報錯問題,是否與當前在第10頁這個參數(shù)有關(guān)?
1539行報錯,是第一時間出現(xiàn)的報錯。
當刪除前面部分帖以后,出錯頁變成第9頁時,才顯示正確的位置。

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



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


才有770位置正確提示。
具體我還得返回測試環(huán)境,看看是不是與上面這個改動有關(guān)?
作者: iwuyou    時間: 2026-3-26 10:15
monkeye 發(fā)表于 2026-3-26 10:03
gitee上已經(jīng)修了,下次更新的時候會 fixed

770 也不對,行數(shù)錯了,應該是 815 行。

這是我在vi 下截圖,確實是第770行

(, 下載次數(shù): 12)


作者: monkeye    時間: 2026-3-26 10:17
iwuyou 發(fā)表于 2026-3-26 10:15
這是我在vi 下截圖,確實是第770行

明白了,是 CRLF 導致的
作者: iwuyou    時間: 2026-3-26 10:24
monkeye 發(fā)表于 2026-3-26 10:17
明白了,是 CRLF 導致的

行號定位問題,與 $topicposts = $thread['special'] ? $thread['replies'] : $thread['replies'] + 1; 有關(guān)嗎?
作者: iwuyou    時間: 2026-3-26 10:44
本帖最后由 iwuyou 于 2026-3-27 07:01 編輯
monkeye 發(fā)表于 2026-3-26 10:03
gitee上已經(jīng)修了,下次更新的時候會 fixed

770 也不對,行數(shù)錯了,應該是 815 行。

已按gitee的方法修改
source/app/forum/module/forumdisplay.php
第677行
  1. $thread['views'] = '-'
復制代碼
改為
  1. $thread['views'] = 0
復制代碼





作者: monkeye    時間: 2026-3-26 11:04
iwuyou 發(fā)表于 2026-3-26 10:24
行號定位問題,與 $topicposts = $thread['special'] ? $thread['replies'] : $thread['replies'] + 1;  ...

$thread['replies'] 只能是數(shù)字值,不可能為別的,不用修改這里,修改為 - 的邏輯在他后面。和這里沒關(guān)系
作者: 灰太狼    時間: 2026-3-26 21:54
iwuyou 發(fā)表于 2026-3-26 10:10
1539行報錯問題,是否與當前在第10頁這個參數(shù)有關(guān)?
1539行報錯,是第一時間出現(xiàn)的報錯。
當刪除前面部分 ...

有錯誤一閃而過,只裝了很少的插件??




歡迎光臨 Discuz! 官方交流社區(qū) (http://m.sdtechgong.com.cn/) Powered by Discuz! X5.0