第一步:基础排查(90%的问题出在这里)
这部分操作简单,但往往能解决大部分问题。

(图片来源网络,侵删)
检查浏览器和权限
- 清除浏览器缓存:有时候是浏览器缓存了旧的JS或页面数据,导致按钮点击无效,请尝试按
Ctrl + F5强制刷新页面,或者清除浏览器缓存后重试。 - 检查浏览器控制台:
- 按
F12打开开发者工具。 - 切换到 Console (控制台) 标签页。
- 点击“生成栏目”按钮,看看控制台有没有报错信息(通常是红色的错误提示),如果有错误信息,请复制下来,这将是定位问题的关键线索。
- 按
- 检查登录状态:确保你已经以管理员身份登录了后台,并且没有过期。
检查目录权限
这是最常见的原因之一,DedeCMS需要写入权限来生成静态文件。
- 检查核心目录:请确保以下目录的权限设置为
755或777(777有安全风险,建议先尝试755),在Linux服务器上,你可以通过FTP客户端或SSH命令来修改。- (网站根目录)
/data/(非常重要,存放缓存和配置)/templets//uploads//html/(存放生成的静态文件)/special/(专题目录)
- 检查文件权限:确保
index.php、login.php等核心文件有可执行权限(通常是644)。
检查PHP环境和函数
- 检查PHP版本:确认你的PHP版本是否在DedeCMS支持的范围内(DedeCMS 5.7通常推荐PHP 5.3 - 7.x),过高的PHP版本(如PHP 8.0+)可能会因为函数废弃导致问题。
- 检查关键函数是否被禁用:登录你的主机控制面板(如cPanel、宝塔面板等),找到 PHP 设置 或 函数禁用列表,确保以下没有被禁用:
file_put_contentsflockmkdiris_diropendirreaddirclosedirreadfileob_startob_end_cleanob_get_contentsheader(重定向时用到)
第二步:进阶排查(如果基础排查无效)
如果以上步骤都正常,但问题依旧,那么可能是程序文件或数据库出现了问题。
检查JS文件是否丢失或损坏
“生成栏目”按钮的功能依赖于JS脚本,如果JS文件丢失或损坏,点击自然没反应。
- 定位JS文件:在后台模板目录
/dede/templets/下,找到catalog_add.htm文件,打开它,找到引入JS的地方,通常是这样:<script language="javascript" src="js/main.js"></script>
- 检查JS文件是否存在:通过FTP或SSH,检查
/dede/js/main.js文件是否存在,并且大小正常(通常几十KB),如果文件不存在或大小为0,请从DedeCMS官方下载完整包,将这个文件上传覆盖。 - 检查JS文件内容:用文本编辑器打开
main.js,搜索MakeHtml或生成栏目相关的函数,看代码是否完整,如果代码被截断或乱码,说明文件损坏,需要重新覆盖。
检查数据库和配置文件
- 检查
data/common.inc.php文件:这是DedeCMS的核心配置文件。- 确认文件中的数据库连接信息是否正确。
- 确认
$cfg_df_namerule等栏目命名规则相关的配置是否正常。 - 有时这个文件权限不正确或被修改,也会导致问题,可以尝试重新上传一个默认的
common.inc.php文件(记得修改数据库连接信息)。
- 检查数据库表:登录你的数据库管理工具(如phpMyAdmin),检查
#@__arctype表(栏目表)是否存在,并且结构完整,如果表损坏,可能会导致生成失败。
检查模板文件
栏目页的模板文件 /templets/default/catalog.htm 如果不存在或存在严重错误,也可能导致生成过程卡住或失败。

(图片来源网络,侵删)
- 确认模板文件存在:检查
/templets/default/catalog.htm文件是否存在。 - 检查模板标签:打开模板文件,检查里面的DedeCMS标签(如
{dede:field name='typename'/})是否书写正确,有没有明显的语法错误。
第三步:终极解决方案(如果以上都无效)
如果所有方法都试过了,问题依旧存在,可以考虑以下“大招”。
生成核心文件
有时候系统核心文件可能因为未知原因损坏。
- 登录DedeCMS后台。
- 进入 “系统” -> “一键更新网站”。
- 在页面中,勾选 “更新主页HTML” 和 “更新栏目HTML”,然后点击“开始更新”。
- 这个过程会重新生成一些核心文件,有时能奇迹般地解决问题。
重新上传 dede 目录
/dede/ 目录是后台管理目录,里面的PHP文件负责处理所有后台操作。
- 从DedeCMS官方下载一个与你当前版本完全相同的、未经修改的完整安装包。
- 通过FTP,将新下载包里的
dede文件夹整个内容,覆盖到你网站上的/dede目录。 - 注意:此操作会覆盖掉你后台可能做过的某些修改(如果你自定义过后台模板等),但不会影响你的数据和前台文件,这是解决后台功能失效的终极方法之一。
查看服务器错误日志
如果主机支持,可以查看服务器的错误日志(Error Log),通常位于 cPanel 的 “错误日志” 工具里,或者在 /var/log/apache2/ (Apache) 或 /var/log/nginx/ (Nginx) 目录下,这里的日志会记录PHP执行时的致命错误,是定位深层问题的最直接证据。

(图片来源网络,侵删)
总结与排查顺序建议
为了提高效率,建议你按照以下顺序进行排查:
- 强制刷新浏览器 (Ctrl+F5) -> 查看浏览器控制台 (F12) 是否有JS报错。
- 检查目录权限:重点检查
/data和/html目录是否为755。 - 检查PHP禁用函数:确认
file_put_contents等函数未被禁用。 - 检查
/dede/js/main.js文件是否存在且内容完整。 - 后台执行“一键更新网站”。
- 重新覆盖
/dede目录。 - 查看服务器错误日志。
按照这个流程,99%的“dede生成栏目没反应”问题都能得到解决,如果问题依然存在,请提供你的 DedeCMS版本、服务器环境(PHP版本+服务器类型)以及 浏览器控制台的错误信息,这样能更精确地帮助你。
