变量存储在哪里?
DedeCMS的变量信息主要存储在两个地方:

(图片来源网络,侵删)
- 数据库 (
dede_sysconfig表):存储变量的名称、类型、提示文字、默认值等元数据。 - 缓存文件 (
./data/cache_config.php):这是PHP程序实际读取和使用的变量数组,为了提高性能,DedeCMS不会每次都查询数据库,而是从这个缓存文件中读取变量。
删除一个变量,必须同时修改数据库和缓存文件,否则网站后台可能会报错,或者变量依然存在。
详细删除步骤
假设我们要删除一个名为 my_new_variable 的自定义变量。
第一步:备份数据库和文件
在进行任何修改之前,务必备份你的数据库和 /data 目录,这是防止操作失误导致网站崩溃的黄金法则。
第二步:从数据库中删除变量记录
- 登录你的网站数据库管理工具(如 phpMyAdmin)。
- 找到你的 DedeCMS 数据库。
- 找到名为
#@__sysconfig的表(#@__是 DedeCMS 的表前缀,如果你的不是默认的dede_,请使用你自己的前缀)。 - 点击“浏览”或“Select”查看表中的所有记录。
- 找到
varname字段值为my_new_variable的那一行记录。 - 选中该行,然后点击“删除”(Delete)按钮。
- 确认删除。
至此,数据库中的变量定义已经被移除。

(图片来源网络,侵删)
第三步:删除缓存文件中的变量定义
这是最关键的一步,因为网站前台和后台的程序都依赖这个缓存文件。
- 通过FTP或你的主机文件管理器,进入 DedeCMS 网站的根目录。
- 找到并打开
./data/cache_config.php文件。 - 你会看到一个类似这样的PHP数组:
<?php if(!defined('DEDERE')) { exit('Access Denied'); } $cfg_notallrow = 'N'; $cfg_soft_lang = 'utf-8'; // ... 这里是很多其他的变量 ... $cfg_my_new_variable = '这是我的新变量的默认值'; // <-- 找到你要删除的这一行 // ... 这里是更多其他的变量 ... ?> - 精确地找到并删除你定义的那个变量行,删除
$cfg_my_new_variable = '这是我的新变量的默认值';这一行。 - 保存文件,如果可能,将文件权限设置为 444 或 405,以防被意外覆盖。
第四步:检查并清理(可选但推荐)
-
清空系统缓存:
- 登录你的 DedeCMS 后台。
- 进入【系统】->【系统基本参数】->【性能选项】。
- 点击右上角的“清空系统缓存”按钮,这一步会强制后台重新生成
cache_config.php文件,确保它是最新的。
-
检查模板文件:
- 登录你的 DedeCMS 后台。
- 进入【模板】->【模板管理】。
- 检查你所有正在使用的模板(包括首页、列表页、内容页等),看看是否还在使用
{dede:global.my_new_variable/}这个标签。 - 如果模板中还在使用这个标签,请务必将其删除或注释掉,否则页面会显示空白或报错。
不同类型变量的注意事项
上面的步骤主要适用于系统全局变量,如果你的变量是特定于某个频道模型的,操作会略有不同。
如果是模型字段变量(通过后台添加的字段)
这种情况下,变量是由系统自动管理的,不建议直接手动删除,正确的删除方法是:
- 登录 DedeCMS 后台。
- 进入【核心】->【内容模型管理】。
- 点击你要修改的模型的“管理字段”。
- 在字段列表中找到你想要删除的字段。
- 点击最右边的“删除”按钮。
- 系统会提示你是否要删除字段数据,请根据需要选择,这个操作会自动帮你完成数据库表结构和
cache_config.php的清理。
如果是模板标签变量(如 {dede:arclist} 中的参数)
这些不是系统变量,而是模板标签的属性,删除它们的方法是:
- 找到所有使用了这个标签的模板文件。
- 直接从模板代码中删除不需要的属性即可,删除
titlelen='50'这个属性。
| 变量类型 | 删除方法 | 关键点 |
|---|---|---|
系统全局变量 (手动在系统基本参数里添加的) |
数据库 dede_sysconfig 表文件 data/cache_config.php检查并清理模板 |
必须同时修改数据库和缓存文件,否则后台会报错。 |
频道模型字段 (在内容模型管理里添加的) |
后台 内容模型管理 -> 管理字段 -> 删除 |
推荐使用后台功能删除,它会自动处理所有关联项。 |
| 模板标签属性 | 直接在模板文件中删除对应的属性即可 | 无需修改数据库或缓存文件。 |
对于你提到的“新变量”,如果是通过后台【系统】->【系统基本参数】->【添加新变量】创建的,那么请遵循“系统全局变量”的删除方法,请严格按照步骤操作,并记住备份!
