discuz不能同步登陸ecmall的解決辦法
2024-07-09 22:56:40
供稿:網友
由于看到很多用戶反應ecmall整合discuz后無法同步的問題不少
這次發帖說明一下
有興趣的同學可以跟我一起做一個試驗。
試驗目的
通過試驗查找無法同步的原因
試驗材料
1.ECMall2.2.1安裝包一份。
2.discuz7.2安裝包一份
3.ucenter1.5.1安裝包一份
4.ucenter home2.0安裝包一份
以上材料編碼均使用UTF-8(你也可以用其他編碼做試驗)。
試驗步驟
1.安裝ucenter
下載地址我就不一一貼出了,大家去discuz.net官方下載,安裝文件在upload目錄
2.安裝discuz7.2
打開discuz安裝包,進uc_client/client.php看看ucenter的版本:發現是1.5.0的,比我們下載的ucenter安裝包的版本低。所以這個uc_client目錄要換掉。我們可以從ucenter1.5.1安裝包里提取uc_client,即把安裝包里advance目錄下的uc_client目錄復制到discuz安裝目錄下替換掉原裝的那份,進行安裝
3.安裝ECMall
將ecmall安裝包里的upload目錄里的所有內容復制到要安裝的目錄下,同樣復制包里的uc_client目錄、integrate目錄目錄進行安裝,最后整合成功了。OK
4.測試一下是否能同步登陸。
a.用管理員用戶先登錄ecmall,然后訪問之前安裝的discuz,這時你應該發現管理員用戶在discuz上已經登錄了。
現在測試
b.現在再測試反向同步登陸。即論壇登錄是否能讓ecmall也同步登陸。
先退出ecmall,訪問discuz,用管理員用戶登錄。這時你應該發現還是游客狀態。
問題暴露出來了。這應該就是大家最多遇到的問題。當然可能因為你安裝時目錄權限、安裝方法等其他特殊因素的影響,你可能還有其他很多古怪的問題。
我們先了解這個最常見到的問題吧。
如何解決。說真的,我是猜想的。去discuz后臺更新緩存試試。
更新后重復執行步驟4。測試結果。雙向同步登陸正常了。
到現在為止你可能還不清楚到底哪里出了問題
那現在接下來繼續試驗。
5.為避免之前數據的干擾,先刪除網站里面所有文件和目錄,執行步驟1、2安裝ucenter和discuz,第三步我們換成ucenter home,這個版本的ucenter home的uc_client依然是1.5.0的,版本低了,按上面提到的方法換成1.5.1。執行安裝。
6.現在來測試同步是否正常
按照步驟4的方法進行測試。這時你應該會發現同樣是那個問題。登陸論壇后無法同步到ucenter home,更新論壇緩存后發現正常了。
從以上的試驗大致可以推斷應該是dz緩存沒有更新造成的。
經過查看論壇forumdata/cache/cache_settings.php文件里找到一個緩存項allowsynlogin,當我們安裝論壇時,這個項的值默認是0,整合ecmall、uc_home后這個值依然不變,而當再論壇后臺更新緩存后,這個值變成1了。這時兩個應用同步登陸成功了。
因此可以推斷這個設置是打通從論壇向其他應用同步登陸的通道。但是目前我沒有找到論壇后臺有任何設置“是否同步登陸到其他應用”,這應是今后版本的伏筆吧。請大家不要跟ucenter后臺應用設置里的同步登陸到該應用向混淆,意義不一樣,是反方向。而ecmall沒有設置這樣一個關卡來阻止同步到其他應用。所以通過ecmall同步登陸到其他應用一般都是能成功的。
如果看了這篇文章能解決問題當然最好,如果無法解決。只能再研究了。畢竟這是幾個產品協調的問題。我們只能保證ecmall穩定和正常使用。