●您的上網方式:Seednet ADSL
●您安裝的程式:Apache 1.3.33 + php 4.3.10 + MySql 4.0.22-standard
●您的 phpBB2 版本:phpBB 2.0.11
●您的 網域名稱:http://morningmusumenet.net
●您的 phpBB2 連結網址: http://morningmusumenet.net/phpbb/
在我自己的論壇上觀察到一點。
就是版面上某主題的回覆數,顯示是 21 篇。(加上開題的那一篇,一共就是 22 篇了。)
但是進到資料庫去搜尋 phpbb_posts 指定搜尋條件為 post_topics 來搜尋該主題的 ID ,結果竟然列出有 23 篇相關的 post 。
然後我又仔細對照了一下,發現有一篇 post 的 ID 只有出現在 phpbb_posts 中,但是沒有出現在 phpbb_posts_text 中。
也就是說,有一篇 post 變成幽靈人口,資料只有寫入到 phpbb_posts 而沒有寫入到 phpbb_posts_text 。
所以在瀏覽主題的時候,是找不到那一篇 post 的,但是系統又把那一篇 post 算進該主題的回覆數。
這樣會造成一種現象,就是跳頁的時候會出現誤判的情況。
還有,如果該主題被人回覆滿一整頁,出現第十九篇和第三十九篇回覆的 post 時。
如果去點擊版面上的
相關討論:http://morningmusumenet.net/phpbb/viewtopic.php?t=42169。
我猜想可能是伺服器被狂操忙不過來的原故。
網友在發送文章傳輸資料的過程中,伺服器可能掛點沒有回應,於是該篇文章沒有完整寫入到資料庫。
我試過一支叫作 Resync Forum Statistics 的外掛,試圖重新對應論壇所有主題的回覆數,不過沒有什麼用。
所以每一次會員反應發生了類似的問題,我必須手動進資料庫比對哪一篇 post 是幽靈人口,將它砍掉,
並且修正該主題在 phpbb_topics 登記的 topic_replies 也就是回覆數才行,挺麻煩的。
最怕的就是沒有會員回報,因為沒有人發現回報,我根本不知道有哪一些主題出了問題。
不知道有沒有比較好的解決方法?例如從 phpBB 的程式碼下手,或是有另外比較好的 Resync 外掛可以使用?

