|
Q001:GBK編碼升級后用戶反饋無法登錄?
A001:您升級前為GBK或BIG5編碼,由于X3.5適配的UCenter 1.7.0 更新了數據庫編碼,為了防止本地化編碼版本內以本地化編碼的安全提問內的非 ASCII 文字導致用戶登錄受阻,因此如您站點為本地化編碼則將為您清空安全提問,請將此情況如實告知用戶,并要求用戶在登錄時請不要輸入安全提問。(如您希望自行編寫兼容代碼,請自行在后續流程選擇不清空用戶的安全提問。)
Q002:升級UCenter 1.7.0報錯(Warning: fopen(../data/logs/X3.5_upgrade_ucenter.php): failed to open stream: No such file or directory in uc_server/update_ucenter_adult.phpon line990)
A002:需要給UC目錄(通常為/uc_server/)的升級日志目錄(/data/logs/)賦予寫權限。
Q003:升級完畢后還一直提示“升級數據”(http://www.9999xn.com/thread-14698-1-1.html)
A003:升級關閉站點的提示語吧?升級后記得重新打開站點。
Q004:升級Ucenter 7.0時顯示數據庫members表里缺少email這個字段
A004:標準Ucenter必定存在email字段的,此提示一般是以前某些修改導致email字段不存在或未被設置為索引,進入數據表(使用PhpMyAdmin)將pre_ucenter_members表的email字段設置為索引后再升級。
Q005:升級后網站變的非常緩慢(MySQL5.5)
A005:當 MySQL < 5.7 或 MariaDB < 10.2 時, InnoDB 性能下降較為嚴重,因此在生產系統上運行的站點應升級版本至 MySQL >= 5.7 或 MariaDB >= 10.2 以避免此問題。
Q006:升級后用戶IP都變成一樣的了(開啟了CDN)
A006:Discuz!X3.5使用CDN時,獲取用戶真實IP(http://www.9999xn.com/thread-14651-1-1.html)
Q007:升級過程中提示Specified key was too long; max key length is 767 bytes
A007:這是由于插件的數據表未支持低版本mysql下的InnoDb引擎,X3.5將升級數據庫為InnoDb引擎,索引字段長度和Myisam不同,解決方法三選一:
1. 升級mysql數據庫版本
2. 保留mysql低版本但修改配置文件開啟長索引選項
3. 需要看報錯中的具體表,進行索引字段長度變更,一般設置為255的,修改長索引字段到190以下
Q008:升級過程中提示(1061) Duplicate key name 'gpmid'ALTER TABLE common_member_grouppm ADD INDEX gpmid(gpmid);
A008:應該是升級出錯后又直接再次執行升級文件導致的,升級出錯后建議回滾數據后再重新操作。同時,針對該問題,回滾數據后可以進入“pre_common_member_grouppm”數據表檢查索引gpmid是否存在,如存在,可以先予以刪除再操作升級
Q009:升級過程中提示(1062) Duplicate entry '***' for key 'username'ALTER TABLE common_member CONVERT TO CHARACTER SET utf8mb4COLLATE utf8mb4_unicode_ci;(common_member也可能是common_member_archive)
A009:首先,這一般是UC升級1.7.0后UC里應用通信失敗導致改名通知未被全部執行就進行了X程序升級引起的,解決方法有多種。
- 其一,完全恢復所有數據后,重新升級UC之后,進入UC后臺,確保通信成功,且“數據列表-通知列表”中重命名用戶通知全部成功,此時再執行X程序升級則無虞;
- 其二,進入數據庫,執行語句:
- select uid from pre_ucenter_members where username in (select username from pre_ucenter_members group by convert(username using utf8mb4) collate utf8mb4_unicode_ci having count(1) > 1)
復制代碼 再將異常用戶改名,如果UC表查詢無異常,上述語句中表名可以更換為(pre_common_member)和(pre_common_member_archive) - 其三,進入數據庫,執行語句
- update `pre_common_member` inner join `pre_ucenter_members` on `pre_common_member`.uid = `pre_ucenter_members`.uid set `pre_common_member`.username = `pre_ucenter_members`.username
復制代碼 和- update `pre_common_member_archive` inner join `pre_ucenter_members` on `pre_common_member_archive`.uid = `pre_ucenter_members`.uid set `pre_common_member_archive`.username = `pre_ucenter_members`.username
復制代碼
Q010:升級后有的帖子無法回復,會報錯 (1062) Duplicate entry '***-*' for key 'PRIMARY'
A010:先檢查站點配置文件config/config_global.php 里面數據庫CONFIG DB部分是否存在一行為$_config['db']['common']['engine'] = 'innodb';,若不存在,請加入一行內容為- $_config['db']['common']['engine'] = 'innodb';
復制代碼 。若存在,可能升級失敗,建議回滾數據重新升級
我知道答案
回答被采納將會獲得 1 貢獻 已有181人回答
|
|