遊戲年代 GOAL GOAL

 找回密碼
 立即註冊
搜索
查看: 350|回復: 5

問題回報...??

[複製鏈接]

20

主題

737

帖子

1206

積分

高級會員

Rank: 4

積分
1206
發表於 2026-9-24 14:22:46 | 顯示全部樓層 |閱讀模式
這幾天,三不五時,常常跳出這畫面.....
換了chrome→firefox→brave 也是一樣.....
以前都不會.....



dd.png
回復

使用道具 舉報

38

主題

255

帖子

925

積分

高級會員

Rank: 4

積分
925
發表於 2026-9-24 14:59:50 | 顯示全部樓層
F5按一下 問題煙消雲散

點評

不要當,蔣萬安.....  發表於 2026-9-24 15:17
回復

使用道具 舉報

6

主題

1176

帖子

1618

積分

高級會員

Rank: 4

積分
1618
發表於 2026-9-24 18:11:14 | 顯示全部樓層
+1..  不知道怎解決@@"
回復

使用道具 舉報

235

主題

1586

帖子

1萬

積分

超級版主

Rank: 8Rank: 8

積分
13082
發表於 2026-9-25 16:05:49 | 顯示全部樓層
問過管理員
說問題可能是論壇Discuz版本太舊
由於升級版本有不確定因素
討論後若有要更新版本再另外通知
回復

使用道具 舉報

20

主題

737

帖子

1206

積分

高級會員

Rank: 4

積分
1206
 樓主| 發表於 2026-9-25 16:38:58 | 顯示全部樓層
ili789 發表於 2026-9-25 16:05
問過管理員
說問題可能是論壇Discuz版本太舊
由於升級版本有不確定因素

把圖丟給 GPT (Gemini 臭掉了 ),要她分析~~~

? 主要錯誤
畫面最上面是:
Discuz! Database Error
(0) notconnect
意思就是:
Discuz! 無法連線到 MySQL / MariaDB 資料庫。
所以目前看起來不是 Discuz 網站程式本身壞掉,而是「網站 → 資料庫」這條連線出了問題。


? 圖中的 PHP Debug 錯誤
最重要的是這幾行:
forum.php第 57 行discuz_application->init()
接著:
source/class/discuz/discuz_application.php第 66 行discuz_application->_init_db()
然後:
source/class/discuz/discuz_application.php第 438 行discuz_database::init(...)
再往下:
source/class/discuz/discuz_database.php第 23 行db_driver_mysqli->connect(...)
這一行最關鍵。
Discuz 正在透過 MySQLi 嘗試連接資料庫,但是連不上。
最後:
db_driver_mysqli.php第 84 行db_driver_mysqli->halt(...)
也就是連線失敗後,Discuz 停止執行並顯示錯誤。


? 最可能的原因
通常可以從以下幾個地方查:
1. MySQL / MariaDB 沒有啟動
這是第一個要檢查的。
例如 Linux 可以查看:
systemctl status mysql
或:
systemctl status mariadb
如果看到 inactive、failed、dead 之類,就代表資料庫服務可能沒在跑。


2. Discuz 的資料庫帳號密碼錯了
檢查:
config/config_global.php
裡面的資料庫設定。
通常會看到類似:
$_config['db']['1']['dbhost'] = 'localhost';$_config['db']['1']['dbuser'] = '資料庫帳號';$_config['db']['1']['dbpw'] = '資料庫密碼';$_config['db']['1']['dbname'] = '資料庫名稱';
其中任何一個錯誤,都可能造成這個問題。


3. dbhost 有問題
例如原本是:
dbhost = 'localhost'
但你的 MySQL 現在其實是在:
127.0.0.1
或者資料庫在另一台伺服器。
有些環境下:
localhost
和:
127.0.0.1
的連線方式不同,因此這個設定值得檢查。


4. MySQL Port 改了
一般 MySQL 是:
3306
如果你的資料庫改成其他 Port,例如:
3307
Discuz 沒有跟著修改,也會出現無法連線。


5. 資料庫帳號沒有權限
例如資料庫帳號:
discuz_user
可能還存在,但沒有權限存取:
discuz_database
也可能是 MySQL 的 Host 權限問題,例如:
'user'@'localhost'
和:
'user'@'127.0.0.1'
被 MySQL 視為不同來源。



⚠️ 目前不要先做的一件事
不要看到 Database Error 就直接重裝 Discuz 或重新安裝資料庫。

從這張圖來看,目前沒有證據表示資料表損壞。
它比較明確地指向:
Discuz → MySQL 的連線階段失敗
所以應該先確認 MySQL 是否正常運作 + Discuz 的 DB 設定是否正確。

------------------------------------------------------------------------------------------------------------------

然後,我問:
版本是 Discuz! X3.4.....
這幾天,三不五時,常常跳出這畫面.....
換了chrome→firefox→brave 也是一樣.....
以前都不會.....
有無可能是論壇Discuz版本太舊 ???


先講結論
情況比較像:
Discuz X3.4 → PHP → MySQL/MariaDB     這條連線偶爾失敗。
而不是:
瀏覽器的問題。
因為錯誤發生在伺服器端的 PHP:
db_driver_mysqli->connect()
也就是 Discuz 正在「連資料庫」時失敗。
所以換作不同瀏覽器都一樣,是很合理的。
瀏覽器根本還沒介入到這個問題的核心。

但「X3.4 太舊」確實值得注意
目前公開的 Discuz! 資料顯示,X3.4 已經停止更新;
目前能找到的 X3.4 最新發布版本是 v3.4-20230520。官方相關版本庫也明確提到 X3.4 已停止更新。
而且 X3.4 的 PHP 相容性確實是老問題:
  • X3.4 一般被認為主要支援 PHP 5.3~7.4
  • PHP 8.x 並不是 X3.4 的正常支援環境
  • X3.5 才開始支援 PHP 8 / 8.1。

所以如果你的主機這幾年有偷偷把:
PHP 7.4↓PHP 8.0↓PHP 8.1↓PHP 8.2 / 8.3
那確實非常值得查。

⚠️ 不過這個「偶爾發生」讓我更想查資料庫
假設論壇平常時:
10:00 正常10:30 正常11:00 Database Error11:01 又正常12:00 正常13:20 又 Database Error13:21 又正常
這種狀況,我反而會優先懷疑:
① MySQL / MariaDB 偶爾重啟
例如:
MySQL crash↓MySQL 自動重啟↓這幾秒/幾十秒 Discuz 連不上↓出現 (0) notconnect↓MySQL 恢復↓論壇又正常
這跟你說的描述非常吻合。

② 主機 RAM 不夠,MySQL 被系統殺掉
這個也很常見。
例如:
網站流量+PHP+MySQL+其他服務
記憶體突然吃滿。
Linux 可能把 MySQL/MariaDB 殺掉。
然後服務再重新啟動。
使用者看到的就是:
Discuz! Database Error (0) notconnect
但過一下又好了。

③ MySQL 連線數滿了
例如同時連線太多:
Too many connections
Discuz 就可能無法取得新的資料庫連線。
這種情況也可能是:
平常正常 → 某些時段突然出錯 → 過一陣子恢復

④ 主機最近有更新 PHP / MySQL / MariaDB
這個我非常建議仔細查。
因為:
以前都不會,這幾天開始常常出現
那就要問:
「這幾天伺服器有沒有發生什麼變化?」
例如主機商自動更新:
  • PHP
  • MySQL
  • MariaDB
  • OpenSSL
  • OS
  • Apache / Nginx
  • PHP-FPM

等等。
尤其如果論壇 X3.4 很多年沒動,而主機環境一直在更新,就容易出現「以前沒問題,最近突然開始有問題」。

我現在最想知道的其實只有 4 個東西

先不用急著升級 Discuz。
先幫我確認這四個:
① PHP 版本
在 Discuz 後台或者主機控制台看。
例如:
PHP 7.4.33
或:
PHP 8.1.x
② MySQL / MariaDB 版本
例如:
MySQL 5.7
或者:
MySQL 8.0
或者:
MariaDB 10.6
③ 用的主機是什麼?
例如:
寶塔cPanelPleskUbuntuCentOSCloudLinuxNASVPS虛擬主機
④ 最重要:出錯後多久自己恢復?
例如:
出現錯誤,重新整理 10 秒後就好了
或者:
要等 1~2 分鐘才好
或者:
一直錯,要重啟 MySQL 才好
這個資訊非常有價值。

還有一件事我會特別提醒你

先不要因為這個錯誤就直接升級 X3.4 → X3.5。
因為老 Discuz 論壇通常會有:
  • 第三方插件
  • 模板
  • 自訂 PHP
  • 自訂資料表
  • UCenter
  • 修改過的核心檔案


X3.4 → X3.5 不是單純「覆蓋檔案」那麼簡單。
而且如果真正的問題是 MySQL 偶爾掛掉,升級 Discuz 之後問題還是可能存在。

我建議我們先做一個很簡單的診斷
你把這三個東西告訴我:
Discuz:X3.4PHP:?MySQL/MariaDB:?主機環境:?
如果你不知道 PHP / MySQL 版本也沒關係。
你可以把你的 寶塔 / cPanel / 主機控制台畫面截圖給我,我可以直接從畫面幫你找。
另外,如果你能告訴我:
「錯誤通常出現幾秒/幾分鐘後會自己恢復?」
我就可以進一步判斷,
到底比較像 MySQL 重啟、RAM 不足、連線數滿、PHP 相容性,
還是Discuz 版本真的不行了。
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|小黑屋|遊戲年代 GOAL GOAL

GMT+8, 2026-11-4 09:58 , Processed in 0.029166 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表