Discuz! 官方交流社區
標題: DiscuxX3.4成功升級到X3.5經驗分享 [打印本頁]
作者: zzydl 時間: 2023-5-15 09:48
標題: DiscuxX3.4成功升級到X3.5經驗分享
DiscuxX3.4成功升級到X3.5經驗分享
從今年2月開始升級DiscuzX3.4,到現在出現過多次錯誤,大版本的升級,難度比較大,由discuz2.5到discuzX3.5,這次升級是最難的一次。
一、我的環境:Apache/2.4.6 (CentOS) PHP/7.4.33 /mysql 5.742
2、數據庫工具,phpmyadmin。
3、數據庫重建兩個文件。論壇的數據庫表install.sql,在下載dZx3.5完整安裝包中Upload\install\data\install.sql。ucenter數據庫表uc.sql。在下載完整安裝包中Upload\uc_server\install\uc.sql。
4、tools工具箱。
三、升級前準備
1,進入dzX3.4后臺插件,卸載所有插件,包括QQ互聯,我的馬甲,微信登錄等(升級成功后可以重新安裝)。站長---數據庫,進行數據庫校驗,修復數據缺少的表和字段。把新增字段的數據表用phpmyadmin工具在相應的數據 表中刪除(注意不要刪錯了,此處有一定的風險)。修復數據庫與使數據庫純凈,會減少升級中錯誤機會。
2、在后臺站長--數據庫-備份論壇所有數據。備份論壇安裝文件。如原來的論壇文件夾為BBS,備份后為BBS1。備份數據庫文件所有文件夾。如ultrax備份后為ultrax1。
3、先用bbs1文件夾與數據庫文件夾ultrax1試試有沒有什么問題如果出現錯誤,刪掉數據庫文件夾如ultrax1,,重新復制原來的數據庫文件夾命名為ultrax2,不要用ultrax1,減少出錯機會。注意要修改3個配置文件。以dzx3.4論壇文件夾BBS1為例。
1、bbs1/uc_server/data/config.inc.php(ucenter配置文件)
2、bbs1/config/config_global.php(論壇全局配置文件)
$_config['db'][1]['dbuser'] = '###';(改為數據 庫的用戶名)
$_config['db'][1]['dbpw'] = '*****';(數據 庫密碼)
$_config['db'][1]['dbname'] = 'ultrax1';
與config_ucenter.php(論壇與ucenter配置文件)。
define('UC_DBPW', '****');
define('UC_DBNAME', 'ultrax1');
define('UC_DBTABLEPRE','`ultrax1`.pre_ucenter_');
這一步非常重要,數據 庫名稱不正確,就會報數據庫錯誤或數據 庫未連接。
四,升級過程
1、按照官網上升級程序,先升級ucenter,按官網升級說明,把安裝包中的uc_server與uc_client兩個文件夾復制到論壇文件夾BBS1中,選擇替換。
2、復制升級ucenter文件update_ucenter_adult.php到bbs1/uc_server/install/中,然后執行升級程序。
http://論壇網址/bbs1/uc_server/install/update_ucenter_adult.php
升級順利會出現一個錯誤,升級Ucenter 7.0時顯示數據庫members表里缺少email這個字段
:標準Ucenter必定存在email字段的,此提示一般是以前某些修改導致email字段不存在或未被設置為索引,進入數據表(使用PhpMyAdmin找到pre_ucenter_members表點結構就看到email字段選中,在更多里找到為索引點擊一下就行了,然后刷新再升級。直到出現升級成功。
3、如果升級過程出現數據表錯誤,可在選擇重建數據表。打開ucenter數據庫重建表文件uc.sql,查找出現錯誤表的地方,比如:members表出錯。復制下面執行語句。
DROP TABLE IF EXISTS uc_members;
CREATE TABLE uc_members (
uidmediumint(8) unsigned NOT NULL AUTO_INCREMENT,
usernamechar(15) NOT NULL DEFAULT '',
`password`varchar(255) NOT NULL DEFAULT '',
`secmobicc`varchar(3) NOT NULL DEFAULT '',
`secmobile`varchar(12) NOT NULL DEFAULT '',
emailvarchar(255) NOT NULL DEFAULT '',
myidchar(30) NOT NULL DEFAULT '',
myidkeychar(16) NOT NULL DEFAULT '',
regipvarchar(45) NOT NULL DEFAULT '',
regdateint(10) unsigned NOT NULL DEFAULT '0',
lastloginipint(10) NOT NULL DEFAULT '0',
lastlogintimeint(10) unsigned NOT NULL DEFAULT '0',
saltvarchar(20) NOT NULL DEFAULT '',
secqueschar(8) NOT NULL default '',
PRIMARYKEY(uid),
UNIQUE KEYusername(username),
KEYemail(email(40)),
KEY secmobile(`secmobile`, `secmobicc`)
) ENGINE=InnoDB;
進入phpmyadmin中,選擇ultrax1數據庫,點左邊sql用CTRL+V粘貼,然后點執行。重建成功后,刷新升級程序。
4、如果發現重新不能繼續,可刪除數據庫文件夾ultrax1,重新復制DZx3.4數據 庫文件夾重命名為ultrax2,注意修改3個配置文件的數據庫(看三,3項,加下載線的部分)
5、ucneter升級到1.7后,就可以升級論壇到x3.5,按官網要求,復制DX3.5文件到論壇文件夾bbs1中,(保留data, config 和 uc_server與uc_client,其他可以刪除),復制升級程序 update_adult.php 上傳bbs1 所在目錄下 install 目錄,并刪除 Discuz! 所在目錄下 data 目錄的 update.lock 文件。
然后執行升級。論壇網址/install/update_adult.php。直到出現升級成功。
6、升級過程如果出現某個表錯誤??梢杂弥亟ㄔ摫?。
打開數據庫重建表文件install.sql。查找出現錯誤表的地方,復制相應執行語句,到phpmyadmin中sql去執行。
7、升級成功后,出現論壇關閉,管理員無法登錄。論壇關閉可以用tools工具箱來打開。但管理員登錄一起提示登錄失敗。并且登錄時不出現驗證碼。
成功升級到DZx3.5管理員登錄 失敗,解決方法:
1,按照官網上全新安裝 DZx3.5方法,安裝成功后,復制3個配置文件到BBS1,注意修改三個配置文件,尤其是數據名稱和'UC_DBNAME', 'ultrax1');
define('UC_DBTABLEPRE', '`ultrax1`.pre_ucenter_');
經驗之談,希望大家在升級的路上順利,祝大家升級成功。如有錯誤的地方請指正。
作者: uov 時間: 2023-5-17 10:54
學習學習
謝謝分享
作者: 維修人員 時間: 2023-8-2 18:11
謝謝分享,有用
作者: 金黑網絡 時間: 2023-8-5 10:55
嗯嗯 可以的。
作者: yyg7268 時間: 2023-10-11 15:28
學習學習
謝謝分享
作者: YueChionLine 時間: 2024-1-26 21:20
zhic............................
作者: yycvip 時間: 2024-2-12 13:26
升級我能升級成功,但是3。5網站遷移,我就不會了
希望有會的,也發個教程。感謝
作者: hypolee 時間: 2024-8-18 21:42
這個厲害,可惜我已經不想升了。
作者: hypolee 時間: 2024-8-18 21:44
打開ucenter數據庫重建表文件uc.sql 這一步怎么操作?
歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) |
Powered by Discuz! W1.0 |