dede链接数据库文件

99ANYc3cd6
预计阅读时长 12 分钟
位置: 首页 DEDE建站 正文

在 DedeCMS 中,连接数据库的核心文件是 common.inc.php,这个文件通常位于网站的根目录下,或者在安装后移动到了 /include/ 目录下(具体位置取决于你的安装配置)。


核心文件:common.inc.php

这个文件是 DedeCMS 的核心配置文件之一,它包含了网站运行所需的基本信息,其中最重要的就是数据库连接信息,当你访问网站任何一个页面时,只要这个页面需要调用数据库(比如读取文章、列表等),common.inc.php 文件都会被最先加载,从而建立起与数据库的连接。

数据库连接信息详解

打开 common.inc.php 文件,你会找到类似下面的代码段(具体变量名可能因版本略有不同,但含义一致):

<?php
// ... 其他代码 ...
//数据库连接信息
$cfg_dbhost = 'localhost'; // 数据库服务器
$cfg_dbname = 'dedecmsv57'; // 数据库名
$cfg_dbuser = 'root';      // 数据库用户名
$cfg_dbpwd  = 'password';  // 数据库密码
$cfg_dbprefix = 'dede_';   // 数据库表前缀
$cfg_db_language = 'gbk';  // 数据库编码,常用 gbk 或 utf8
// ... 其他代码 ...
?>

我们来逐一解释这些参数的含义:

参数名 含义 示例 说明
$cfg_dbhost 数据库主机地址 localhost 通常本地数据库是 localhost,如果数据库在另一台服务器上,则需要填写服务器的 IP 地址或域名。
$cfg_dbname 要连接的数据库名称 dedecmsv57 你在 MySQL 中创建的数据库的名称。
$cfg_dbuser 数据库用户名 root 具有访问 $cfg_dbname 数据库权限的用户名。
$cfg_dbpwd 数据库密码 password 对应用户名的密码。这是最重要的安全信息,务必保护好!
$cfg_dbprefix 数据库表前缀 dede_ DedeCMS 安装时可以自定义的表名前缀,这样做是为了避免在同一数据库中安装多个 DedeCMS 站点时表名冲突。
$cfg_db_language 数据库字符集 gbkutf8 指定数据库的字符编码,必须与你的数据库实际编码一致,否则会出现乱码,现在新站推荐使用 utf8

连接数据库的代码逻辑

common.inc.php 文件中,定义了这些变量后,紧接着会有实际的数据库连接和选择数据库的代码,它通常使用 PHP 的 mysqlimysql(旧版)扩展。

mysqli 为例,代码逻辑大致如下:

// 1. 连接数据库服务器
// @ 是为了屏蔽可能产生的警告信息,我们自己处理错误
if(!function_exists('mysql_connect')) {
    $link = mysqli_connect($cfg_dbhost, $cfg_dbuser, $cfg_dbpwd);
} else {
    // ... 兼容旧版本的代码 ...
}
// 2. 选择要操作的数据库
mysqli_select_db($link, $cfg_dbname);
// 3. 设置数据库编码
mysqli_query($link, "SET NAMES '" . $cfg_db_language . "'");
// ... 其他初始化操作 ...

这段代码的作用就是:

  1. 使用 mysqli_connect() 函数,根据前面定义的 $cfg_dbhost, $cfg_dbuser, $cfg_dbpwd 连接到 MySQL 服务器。
  2. 连接成功后,使用 mysqli_select_db() 函数选择要操作的 $cfg_dbname 数据库。
  3. 执行 SET NAMES 命令,确保后续的数据库查询和返回数据的字符编码正确,防止乱码。

如何修改数据库连接信息?

当你需要修改数据库连接信息时(更换服务器、修改密码等),只需编辑 common.inc.php 文件,找到对应的变量并修改其值即可。

修改步骤:

  1. 使用 FTP 或文件管理器 登录到你的网站服务器。
  2. 找到 common.inc.php 文件(通常在网站根目录或 /include/ 目录)。
  3. 下载 该文件到你的本地电脑。
  4. 用文本编辑器(如 VS Code, Sublime Text, Notepad++ 等)打开文件。
  5. 修改 $cfg_dbhost, $cfg_dbname, $cfg_dbuser, $cfg_dbpwd 等变量为你新的数据库信息。
  6. 保存 文件。
  7. 上传 修改后的 common.inc.php 文件回服务器,覆盖原文件。

⚠️ 重要提示:

  • 备份! 在修改任何核心文件之前,请务必备份原文件。
  • 权限: 确保上传后的文件权限正确(通常是 644)。
  • 编码: 如果你的网站是 UTF-8 编码,请确保 common.inc.php 文件本身也以 UTF-8 无 BOM 格式保存,否则可能导致页面乱码。

其他相关文件

虽然 common.inc.php 是核心,但了解其他相关文件也有助于你更全面地理解 DedeCMS 的数据库操作。

  • /include/dedesql.class.php: 这是 DedeCMS 的一个核心数据库操作类,它封装了所有对数据库的增删改查操作,你在网站的其他 PHP 文件中看到的 ($dsql) 对象,就是在这个类中实例化的。common.inc.php 负责提供连接信息,而 dedesql.class.php 负责执行具体的 SQL 语句。

  • data/config.cache.inc.php: 这个文件通常由系统自动生成,用于缓存一些全局配置信息,数据库连接信息也可能被缓存到这里,以提高访问速度,如果修改 common.inc.php 后网站仍然无法连接,可以检查或删除这个缓存文件,让系统重新生成。

问题 答案
DedeCMS链接数据库的文件是哪个? common.inc.php
这个文件在哪里? 通常在网站根目录/include/ 目录下。
如何修改数据库连接信息? 编辑 common.inc.php 文件,修改 $cfg_dbhost, $cfg_dbname, $cfg_dbuser, $cfg_dbpwd 等变量。
修改后网站还是连不上怎么办? 检查修改的信息是否正确。 2. 检查数据库服务是否开启。 3. 检查数据库用户是否有对应数据库的权限。 4. 检查 data/config.cache.inc.php 是否有缓存,尝试删除它。 5. 确保 common.inc.php 文件编码为 UTF-8 无 BOM(如果是 UTF-8 网站)。
-- 展开阅读全文 --
头像
织梦后台无法更新生成,何解?
« 上一篇 02-28
dede化妆品免费模板
下一篇 » 02-28

相关文章

取消
微信二维码
支付宝二维码

目录[+]