第一步:基础检查(最常见的原因)
这些是新手最容易忽略,但也是最常见的问题。

检查是否点击了正确的按钮
在 DedeCMS 后台,生成文档的按钮有两个,位置不同,功能也不同:
- 【生成HTML】按钮:位于栏目列表页面的顶部。这个按钮是用来生成整个栏目及其所有子栏目下的文章列表页和首页的,而不是生成单篇文章的。
- 【生成】按钮:位于文章编辑页面的底部。这个按钮才是用来生成当前这篇文档(文章)的静态HTML页面的。
请确认: 你是在文章编辑页面,点击了正文下方的那个绿色的【生成】按钮吗?
检查目录权限
DedeCMS 需要对服务器上的某些目录拥有写入权限,才能生成HTML文件,如果权限不足,生成操作就会失败,通常不会有任何提示或错误信息。
你需要确保以下目录的权限设置为 755 或 777(775在大多数服务器上也足够):

- (网站根目录)
/templets/(模板目录)/data/(数据目录)/html/(生成HTML文件的存放目录,通常在后台设置)/special/(专题目录,如果使用了专题)
如何检查和修改权限?
- 通过FTP工具:连接你的服务器,右键点击这些文件夹,选择“文件权限”或“属性”,然后设置数字为
755。 - 通过主机控制面板:大多数虚拟主机商(如阿里云、腾讯云等)都提供在线文件管理器,可以在里面直接修改目录权限。
检查模板文件是否存在且正确
DedeCMS 是根据模板来生成HTML的,如果模板文件丢失、损坏或路径错误,生成操作也会失败。
- 检查文章模板:进入后台 -> 系统 -> 系统基本参数 -> 核心设置,查看“文章默认页模板”是什么(
article_article.htm)。 - 确认模板文件位置:然后通过FTP或文件管理器,检查
/templets/你的默认模板文件夹/目录下,是否存在这个模板文件。 - 检查模板内容:用文本编辑器打开这个模板文件,看里面是否有错误的代码或标签,
{dede:field.title/}等核心标签是否存在。
第二步:后台设置检查
如果基础检查没问题,那就要看看后台的设置了。
检查是否开启了“使用HTML”
在后台,必须确保生成静态HTML的功能是开启的。

- 路径:后台 -> 系统 -> 系统基本参数 -> 核心设置
- 找到 “是否使用静态页” 这个选项,确保它被设置为 “是”。
检查“文档HTML根目录”
- 路径:后台 -> 系统 -> 系统基本参数 -> 核心设置
- 找到 “文档HTML根目录” 这个选项,这个目录必须是网站根目录下的一个已存在且有写入权限的文件夹,默认通常是
html/。 - 重要提示:这个目录不能是网站根目录本身(即不能是 ),否则会生成大量文件在根目录,非常混乱且容易出错,请确保它是一个子目录,
/html/。
检查“文件命名规则”
- 路径:后台 -> 系统 -> 系统基本参数 -> 核心设置
- 找到 “文件命名规则”,确保规则中没有使用特殊字符或可能导致路径错误的变量,新手可以先使用默认的规则,
{typedir}/{aid}.html。
第三步:服务器环境与PHP错误排查
如果以上设置都正确,那问题可能出在服务器环境上,这时候,我们需要让 DedeCMS 显示出具体的错误信息。
开启PHP错误显示
生成文档失败时,PHP层面可能会报错,但DedeCMS默认会隐藏这些错误,我们需要临时让它显示出来。
- 方法一(推荐,临时有效):在生成文章前,在浏览器地址栏的网址后面加上
&_dede_debug=1,你的网址是www.yoursite.com/dede/,那么就访问www.yoursite.com/dede/?_dede_debug=1,然后再去生成文章,页面下方可能会显示出具体的错误代码。 - 方法二(修改配置文件):
- 用FTP登录,找到网站根目录下的
/include/common.inc.php文件。 - 找到这一行:
// $showmsg = TRUE; - 在它前面加上两个斜杠,把它注释掉,或者直接修改为
$showmsg = TRUE;。 - 保存文件,然后去生成文章,页面会显示详细的错误信息。
- 解决后务必记得改回原样,否则会暴露网站信息,有安全风险。
- 用FTP登录,找到网站根目录下的
根据显示的错误信息,去搜索引擎搜索,通常能找到解决方案。 常见的错误有:
Fatal error: Allowed memory size...:PHP内存不足,需要联系主机商调整memory_limit。file_put_contents failed to open stream: Permission denied:就是上面提到的目录权限问题。Call to undefined function...:PHP缺少某个扩展模块。
检查PHP版本兼容性
你使用的 DedeCMS 版本(如DedeCMS 5.7)可能与你服务器上的PHP版本不兼容,DedeCMS 5.7对 PHP 7.4+ 的支持就比较好,但对 PHP 8.0+ 可能存在一些小问题,可以尝试切换一下PHP版本(如果主机商提供此功能)。
检查服务器是否开启了safe_mode(旧版PHP)
如果你的服务器比较老,开启了 safe_mode 模式,DedeCMS 的文件写入功能可能会受限,这个模式在新版PHP中已被废弃,可以联系主机商关闭它。
第四步:数据库与缓存问题
这是比较少见但确实会发生的情况。
检查文章内容
- 中是否包含了可能导致解析错误的特殊字符、JS代码或HTML标签?尝试删除所有内容,只留一个标题和一段文字,看是否能生成,如果能,说明是某个字符的问题,需要慢慢排查。
- 检查文章的缩略图,图片路径是否正确?
清理缓存
缓存文件损坏也会导致各种奇怪的问题。
- 进入后台 -> 系统 -> 数据库备份/还原 -> 【一键更新缓存】,点击执行。
- 通过FTP删除
/data/cache/目录下的所有缓存文件(.php文件),让系统重新生成。
总结与排查清单
为了方便你操作,这里有一个简单的排查清单:
| 检查项 | 解决方案 | |
|---|---|---|
| 操作按钮 | 是否在文章编辑页面点击了【生成】按钮? | 确认点击正确的按钮。 |
| 目录权限 | 、/templets/、/data/、/html/ 目录权限是否为755/777? |
通过FTP或主机面板修改目录权限。 |
| 模板文件 | 指定的文章模板文件(如article_article.htm)是否存在且内容正确? |
检查并修复模板文件。 |
| 后台设置 | “是否使用静态页”是否为“是”?“文档HTML根目录”是否正确且有权限? | 进入后台核心设置,检查并修正。 |
| PHP错误 | 是否开启了PHP错误显示来定位问题? | 使用 &_dede_debug=1 或修改 common.inc.php 来查看错误。 |
| 服务器环境 | PHP版本是否兼容?内存是否足够? | 联系主机商,检查或调整PHP环境。 |
| 数据库与缓存 | 有无特殊字符?缓存是否损坏? | 清理文章内容,执行“一键更新缓存”。 |
按照这个流程,从上到下逐一排查,90%以上的“生成文档没反应”问题都能得到解决,如果所有方法都试过了还是不行,那可能是网站文件损坏,可以考虑重新上传一份干净的DedeCMS程序文件(覆盖前务必备份数据库和网站文件)。
