业务经理

微信扫描以上二维码

028-61286886

技术咨询

数据库配置

迅睿的数据库连接信息保存在站点公共配置 config/database.php(常量 CONFIGPATH),由安装向导生成,运行时由框架类 Config\Database 读取并与默认参数合并。

业务代码一般通过 \Phpcmf\Service::M() 访问数据库,无需直接改框架目录中的配置类。

配置文件位置

路径说明
config/database.php站点实际连接配置(安装后生成,可手改;勿提交明文密码到公开仓库)
dayrui/System/Config/Database.php框架侧配置类(默认驱动、字符集等),启动时合并站点配置。禁止修改

环境检测会检查 config/database.php 是否可写/存在。

安装第 2 步填写主机、库名、账号、表前缀后写入该文件。

基本配置格式

安装生成的典型结构如下(连接组名为 default):

键名说明
hostname数据库主机(本机常用 127.0.0.1localhost
username / password账号密码
database库名;不能为纯数字,不能含 .
DBPrefix表前缀(安装时会转小写;默认常见为 dr_

未在 database.php 中写出的项,会使用框架默认值,例如:

  • DBDriverMySQLi(主流环境)

  • charset / DBCollatutf8mb4 / utf8mb4_general_ci

  • DBDebugcacheOnpConnect 等连接与调试相关参数

  • 查询相关目录默认指向 WRITEPATH.'database/'(即 cache/database/

安装过程会检测 MySQL 是否支持 utf8mb4,建议使用 MySQL 5.7+。

表前缀

  • 所有系统表名由 DBPrefix + 逻辑表名组成(如前缀 dr_ 时,计划任务表为 dr_cron)。

  • 同一库中若已存在相同前缀的表,安装会提示「已安装过」,需换库名或换前缀。

  • Model 中通过 $this->dbprefix() / 连接对象的 DBPrefix 自动加前缀,手写 SQL 时务必带上正确前缀。

多连接 / 备用库

框架支持在 $db 数组中配置多个命名连接组;除 default 外的组会被映射为内部的 db1db2…。

业务侧可通过模型切换数据源(如 _load_db_source / 模型提供的切换方法,以实际 API 为准)。

若配置了 $db['failover'],会作为默认连接的备用(failover)信息合并进默认组。

在代码中使用

日常增删改查优先封装在 Model 中,避免控制器里散落原生 SQL。

修改与安全注意

  • 改主机、库名、密码、前缀:编辑 config/database.php 后保存,确认 PHP 语法正确,再刷新站点。

  • 不要改 dayrui/System/Config/Database.php 来存放账号密码。

  • 生产环境限制 config/ 的 Web 直链访问;配置文件权限仅运行用户可读写。

  • 备份库时连同记录当前 DBPrefix;还原到新环境时同步改配置文件。

  • 迁移服务器后,优先检查本文件与 PHP MySQLi 扩展是否可用。

本文地址:https://www.xunruicms.com/doc/1480.html