首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Destoon 整合 UCenter 後會員註冊不跳轉問題修復:屏蔽冗餘同步調用

     編輯:PHP 綜合知識

問題現象

整合 UCenter 多應用同步登入後,前台會員註冊提交成功(數據已寫入),但頁面無跳轉、無提示、卡死在註冊頁。

根因分析

經斷點調試發現:api/ucenter/control/user.php 第 83 行的 onregbbs() 函數默認執行,試圖向 Discuz! 論壇寫入註冊數據。若 Discuz! 端異常或通訊超時,導致流程阻塞,前端無響應。

代碼定位

在 module/member/register.inc.php(約 125 行)註冊處理邏輯中:

if ($MOD['passport'] == 'uc') {
    $uid = uc_user_register($passport, $post['password'], $post['email']);
    if ($uid > 0 && $MOD['uc_bbs']) 
        uc_user_regbbs($uid, $passport, $post['password'], $post['email']); // 此行導致阻塞
}

解決方案

直接註釋掉第二條同步語句(或根據業務需求改為異步隊列處理):

// if ($uid > 0 && $MOD['uc_bbs']) uc_user_regbbs($uid, $passport, $post['password'], $post['email']);

註釋後,註冊流程恢復正常跳轉,UCenter 主站同步已由第一行 uc_user_register 完成,Discuz! 端同步可由獨立任務處理,避免阻塞主流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved