天天看點

WORDPRESS與DISCUZ整合, UCENTER-INTEGRATION 插件無法同步登陸解決

https://lanseshu.com/wordpress與discuz整合,-ucenter-integration-插件無法同步登陸解決/

discuz與wordpress整合隻能通過 ucenter-integration插件,也隻有這一個上古插件,安裝,設定一切順利,但是

說到但是總是讓人蛋疼,折騰了好幾天,必須得鋪墊鋪墊

但是隻可以wordpress登陸,同步登陸到discuz,而discuz登陸登出,卻無法同步到wordpress

找了好多資料,反反複複就那麼兩個解決方案,都是改某處代碼,但是沒什麼鳥用,自己折騰半天,終于找到原因,解決辦法:

原因是因為discuz下面uc_client\client.php 的第379行

function uc_user_synlogout() {

if(@include UC_ROOT.’./data/cache/apps.php’) {

if(count($_CACHE[‘apps’]) > 1) {

$return = uc_api_post(‘user’, ‘synlogout’, array());

} else {

$return = ”;

}

}

return $return;

}

if(count($_CACHE[‘apps’]) > 1) {這個判斷出錯,$_CACHE[‘apps’]數組應該是2或者更多的,但是這裡是1,是以無論discuz如何登陸退出,都不會向ucenter發送同步通知,自然wordpress也就無法收到,無法實作同步了

打開這個配置檔案,确實,隻有一個數組,原來,是因為安裝了獨立的ucenter,dz下面的cache/apps.php沒有更新,可能是ucenter清除緩存出了問題,或者其他原因。

解決方法很簡單,将ucenter-integration插件下面的/data/cache/apps.php檔案複制出來,覆寫到dz的uc_client/data/cache/apps.php下面就OK了