迅睿CMS框架是一款PHP8高性能·简单易用的CMS开源开发框架,基于MIT开源许可协议发布,免费且不限制商业使用,是免费开源的产品,以万端互联为设计理念,支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。
联系官方销售客服
1835022288
028-61286886
框架中可以链接多个数据库,如果使用了thinkphp的Db,要怎么链接多个数据库呢?
还是一样的方法吗?我在config/database.php添加了多个数据库链接,按照thinkphp的方法写,却链接不上
<?php namespace Config; /** * {{www.xunruicms.com}} * {{迅睿内容管理框架系统}} * 本文件是框架系统文件,二次开发时不可以修改本文件 **/ use CodeIgniter\Database\Config; /** * Database Configuration */ class Database extends Config { /** * The directory that holds the Migrations * and Seeds directories. * @var string */ public $filesPath = WRITEPATH.'database/'; /** * Lets you choose which connection group to * use if no other is specified. * * @var string */ public $defaultGroup = 'default'; /** * The default database connection. * * @var array */ public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => '', 'password' => '', 'database' => '', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => true, 'cacheOn' => true, 'cacheDir' => WRITEPATH.'database/', 'charset' => 'utf8mb4', 'DBCollat' => 'utf8mb4_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [] ]; //-------------------------------------------------------------------- public function __construct() { parent::__construct(); $db = []; require ROOTPATH.'config/database.php'; foreach ($this->default as $p => $t) { foreach ($db as $name => $v) { $this->$name[$p] = isset($v[$p]) ? $v[$p] : $t; } } // 判断数据库名称的规范性 if (is_numeric($this->default['database'])) { exit('数据库名称不能是数字'); } elseif (strpos($this->default['database'], '.') !== false) { exit('数据库名称不能存在.号'); } // Thinkphp数据库配置 if (is_file(dirname(COMPOSER_PATH).'/topthink/think-orm/src/DbManager.php')) { $cfg = [ // 默认数据连接标识 'default' => 'default', // 数据库连接信息 'connections' => [ ], ]; foreach ($db as $name => $v) { $cfg['connections'][$name] = [ // 数据库类型 'type' => 'mysql', // 主机地址 'hostname' => $v['hostname'], // 用户名 'username' => $v['username'], 'password' => $v['password'], // 数据库名 'database' => $v['database'], // 数据库编码默认采用utf8mb4 'charset' => 'utf8mb4', // 数据库表前缀 'prefix' => $v['DBPrefix'], // 数据库调试模式 'debug' => true, ]; } \think\facade\Db::setConfig($cfg); } } //-------------------------------------------------------------------- }
这个文件改成下面的内容试一试