DiscuxX3.4成功升級到X3.5經(jīng)驗(yàn)分享 從今年2月開始升級DiscuzX3.4,到現(xiàn)在出現(xiàn)過多次錯(cuò)誤,大版本的升級,難度比較大,由discuz2.5到discuzX3.5,這次升級是最難的一次。 一、我的環(huán)境:Apache/2.4.6 (CentOS) PHP/7.4.33 /mysql 5.742 2、數(shù)據(jù)庫工具,phpmyadmin。 3、數(shù)據(jù)庫重建兩個(gè)文件。論壇的數(shù)據(jù)庫表install.sql,在下載dZx3.5完整安裝包中Upload\install\data\install.sql。ucenter數(shù)據(jù)庫表uc.sql。在下載完整安裝包中Upload\uc_server\install\uc.sql。 4、tools工具箱。 三、升級前準(zhǔn)備 1,進(jìn)入dzX3.4后臺插件,卸載所有插件,包括QQ互聯(lián),我的馬甲,微信登錄等(升級成功后可以重新安裝)。站長---數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)庫校驗(yàn),修復(fù)數(shù)據(jù)缺少的表和字段。把新增字段的數(shù)據(jù)表用phpmyadmin工具在相應(yīng)的數(shù)據(jù) 表中刪除(注意不要刪錯(cuò)了,此處有一定的風(fēng)險(xiǎn))。修復(fù)數(shù)據(jù)庫與使數(shù)據(jù)庫純凈,會減少升級中錯(cuò)誤機(jī)會。 2、在后臺站長--數(shù)據(jù)庫-備份論壇所有數(shù)據(jù)。備份論壇安裝文件。如原來的論壇文件夾為BBS,備份后為BBS1。備份數(shù)據(jù)庫文件所有文件夾。如ultrax備份后為ultrax1。 3、先用bbs1文件夾與數(shù)據(jù)庫文件夾ultrax1試試有沒有什么問題如果出現(xiàn)錯(cuò)誤,刪掉數(shù)據(jù)庫文件夾如ultrax1,,重新復(fù)制原來的數(shù)據(jù)庫文件夾命名為ultrax2,不要用ultrax1,減少出錯(cuò)機(jī)會。注意要修改3個(gè)配置文件。以dzx3.4論壇文件夾BBS1為例。 1、bbs1/uc_server/data/config.inc.php(ucenter配置文件) 2、bbs1/config/config_global.php(論壇全局配置文件) $_config['db'][1]['dbuser'] = '###';(改為數(shù)據(jù) 庫的用戶名) $_config['db'][1]['dbpw'] = '*****';(數(shù)據(jù) 庫密碼) $_config['db'][1]['dbname'] = 'ultrax1'; 與config_ucenter.php(論壇與ucenter配置文件)。 define('UC_DBPW', '****'); define('UC_DBNAME', 'ultrax1'); define('UC_DBTABLEPRE','`ultrax1`.pre_ucenter_'); 這一步非常重要,數(shù)據(jù) 庫名稱不正確,就會報(bào)數(shù)據(jù)庫錯(cuò)誤或數(shù)據(jù) 庫未連接。 四,升級過程 1、按照官網(wǎng)上升級程序,先升級ucenter,按官網(wǎng)升級說明,把安裝包中的uc_server與uc_client兩個(gè)文件夾復(fù)制到論壇文件夾BBS1中,選擇替換。 2、復(fù)制升級ucenter文件update_ucenter_adult.php到bbs1/uc_server/install/中,然后執(zhí)行升級程序。 http://論壇網(wǎng)址/bbs1/uc_server/install/update_ucenter_adult.php 升級順利會出現(xiàn)一個(gè)錯(cuò)誤,升級Ucenter 7.0時(shí)顯示數(shù)據(jù)庫members表里缺少email這個(gè)字段 :標(biāo)準(zhǔn)Ucenter必定存在email字段的,此提示一般是以前某些修改導(dǎo)致email字段不存在或未被設(shè)置為索引,進(jìn)入數(shù)據(jù)表(使用PhpMyAdmin找到pre_ucenter_members表點(diǎn)結(jié)構(gòu)就看到email字段選中,在更多里找到為索引點(diǎn)擊一下就行了,然后刷新再升級。直到出現(xiàn)升級成功。 3、如果升級過程出現(xiàn)數(shù)據(jù)表錯(cuò)誤,可在選擇重建數(shù)據(jù)表。打開ucenter數(shù)據(jù)庫重建表文件uc.sql,查找出現(xiàn)錯(cuò)誤表的地方,比如:members表出錯(cuò)。復(fù)制下面執(zhí)行語句。 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; 進(jìn)入phpmyadmin中,選擇ultrax1數(shù)據(jù)庫,點(diǎn)左邊sql用CTRL+V粘貼,然后點(diǎn)執(zhí)行。重建成功后,刷新升級程序。 4、如果發(fā)現(xiàn)重新不能繼續(xù),可刪除數(shù)據(jù)庫文件夾ultrax1,重新復(fù)制DZx3.4數(shù)據(jù) 庫文件夾重命名為ultrax2,注意修改3個(gè)配置文件的數(shù)據(jù)庫(看三,3項(xiàng),加下載線的部分) 5、ucneter升級到1.7后,就可以升級論壇到x3.5,按官網(wǎng)要求,復(fù)制DX3.5文件到論壇文件夾bbs1中,(保留data, config 和 uc_server與uc_client,其他可以刪除),復(fù)制升級程序 update_adult.php 上傳bbs1 所在目錄下 install 目錄,并刪除 Discuz! 所在目錄下 data 目錄的 update.lock 文件。 然后執(zhí)行升級。論壇網(wǎng)址/install/update_adult.php。直到出現(xiàn)升級成功。 6、升級過程如果出現(xiàn)某個(gè)表錯(cuò)誤??梢杂弥亟ㄔ摫怼?/font> 打開數(shù)據(jù)庫重建表文件install.sql。查找出現(xiàn)錯(cuò)誤表的地方,復(fù)制相應(yīng)執(zhí)行語句,到phpmyadmin中sql去執(zhí)行。 7、升級成功后,出現(xiàn)論壇關(guān)閉,管理員無法登錄。論壇關(guān)閉可以用tools工具箱來打開。但管理員登錄一起提示登錄失敗。并且登錄時(shí)不出現(xiàn)驗(yàn)證碼。 成功升級到DZx3.5管理員登錄 失敗,解決方法: 1,按照官網(wǎng)上全新安裝 DZx3.5方法,安裝成功后,復(fù)制3個(gè)配置文件到BBS1,注意修改三個(gè)配置文件,尤其是數(shù)據(jù)名稱和'UC_DBNAME', 'ultrax1'); define('UC_DBTABLEPRE', '`ultrax1`.pre_ucenter_'); 經(jīng)驗(yàn)之談,希望大家在升級的路上順利,祝大家升級成功。如有錯(cuò)誤的地方請指正。
|