软件管家 发表于 2023-2-14 10:57:00

两个或多个discuz共用ucenter和同一个会员系统




整合过后实现功能如下;
[*]两个discuz系统共用同一个ucenter;   同步登陆
[*]两个discuz系统共用同一个会员系统;统一积分
整个原理是偷换数据库;将所有网站与会员相关的数据库都指向到同一个数据库;我的是所有数据都在一个数据库中;整个修改很简单;

[*]对两个discuz系统进行ucenter整合;
[*]确定用第一个的会员数据后;第一个的数据库前缀用it代替,第二个数据前缀用chuzi代替;修改第二个系统的config/下的config_global.php;
在$_config['db']['1']['tablepre'] = mjdk_';下添加
$_config['db']['2']['tablepre'] = dk_

[*]打开source\class\db文件下的db_driver_mysql.php;
在第 34行 $this->tablepre = $config['1']['tablepre'];下面添加


   $this->tableprechu = $config['2']['tablepre'];
第112行      return $this->tablepre.$tablename;
修改成下面
   if(preg_match("/^common_member(.*)/i",$tablename)|| preg_match("/^home(.*)/i",$tablename) || in_array($tablename, array('common_credit_rule_log')))
      {
            return $this->tableprechu .$tablename;//tableprechu与上面修改对应就行;
      }else{
      return $this->tablepre.$tablename;
      }
做完这些会员整合就全部完成;

页: [1]
查看完整版本: 两个或多个discuz共用ucenter和同一个会员系统