核心排查思路
请按照以下顺序逐一排查,因为前面的原因最为常见,每排查一项后,请保存文章并刷新前台页面,看看问题是否解决。

第一部分:最常见的原因(90%的问题出在这里)
内容编辑器问题(最主要原因)
这是导致空白的最常见元凶,特别是当你从其他地方(如Word、网页、记事本)复制内容粘贴到编辑器时,会带入大量看不见的格式代码、标签或脚本,这些代码可能会与DedeCMS的解析机制冲突,导致前台输出时出错,页面显示为空白。
解决方案:
-
A. 使用“粘贴为纯文本”功能:
- 在编辑器的工具栏上,通常有一个“粘贴为纯文本”的按钮(图标可能像一个带T的剪贴板)。
- 操作步骤: 先在别处复制好内容 -> 点击编辑器中的“粘贴为纯文本”按钮 -> 粘贴你的内容,这会自动清理掉所有格式。
-
B. 使用Word清理工具:
(图片来源网络,侵删)- 如果你直接从Word复制,编辑器通常会有一个“从Word中清除格式”的按钮,点击它后再粘贴。
-
C. 手动清理内容:
如果没有上述按钮,可以先将内容粘贴到记事本(Notepad)或系统自带的“记事本”程序中,记事本会自动去除所有格式,然后再从记事本复制到DedeCMS的编辑器里。
-
D. 切换编辑器:
- 进入“系统” -> “系统基本参数” -> “核心设置”。
- 找到“Html编辑器”选项,尝试更换一个(比如从
ckeditor换成fck或fck换成ckeditor),然后保存设置,再尝试发布文章,这可以排除特定编辑器自身的Bug。
保存时勾选了“远程图片本地化”
在发布文章时,编辑器下方有一个“远程图片本地化”的选项,如果文章中引用的外部图片链接失效、包含特殊字符、或者服务器无法访问该链接,保存过程可能会失败或出错,导致文章内容为空。

解决方案:
- 暂时取消勾选: 发布文章时,不要勾选“远程图片本地化”,先保存文章,如果能正常保存,说明问题就出在这里。
- 手动处理图片: 保存后,再编辑文章,手动将外部图片下载到本地,然后上传到DedeCMS的媒体库,再替换掉外链。
第二部分:模板与标签问题
调用标签错误
如果只是单篇文章显示空白,但其他文章正常,那很可能是这篇文章内容本身有问题,但如果所有文章都显示空白,那问题很可能出在文章列表页(article_list.htm)或文章内容页(article_article.htm)的模板文件上。
解决方案:
-
检查文章列表页模板 (
/templets/default/article_list.htm):- 查看模板中调用文章列表的标签是否正确,标准标签是
{dede:list pagesize='10'}...{/dede:list}。 - 检查循环标签内部是否有语法错误,比如多余的符号、不匹配的标签等。
- 查看模板中调用文章列表的标签是否正确,标准标签是
-
检查文章内容页模板 (
/templets/default/article_article.htm):- 这是最关键的排查点,打开这个文件,找到调用文章标题和内容的标签:
- 标题标签:
{dede:field.title/} - 内容标签:
{dede:field.body/}
- 标题标签:
- 确认
{dede:field.body/}标签存在且没有被误删或注释掉。 如果这个标签丢了,前台自然就什么内容都没有了。 - 检查模板文件中是否有其他错误的PHP或Dede标签语法,导致整个模板解析失败。
- 这是最关键的排查点,打开这个文件,找到调用文章标题和内容的标签:
-
恢复默认模板测试:
- 为了确认是模板问题,可以先将模板文件重命名(
article_article.htm.bak),然后去“模板” -> “默认模板管理”中,点击“生成HTML” -> “更新所有HTML”。 - 系统会自动使用内置的默认模板,如果恢复默认模板后文章能正常显示,那就100%是你自定义模板的问题,再仔细检查你自己的模板文件。
- 为了确认是模板问题,可以先将模板文件重命名(
第三部分:服务器与PHP环境问题
如果以上方法都无效,那问题可能出在服务器层面。
PHP执行超时
如果你的文章内容非常长(比如几万字),或者文章中包含大量需要处理的代码,PHP脚本的执行时间可能会超过服务器的限制(通常是30秒或60秒),导致脚本被强制中断,页面返回空白。
解决方案:
- 联系你的虚拟主机服务商,请求他们调整
max_execution_time和max_input_time这两个PHP配置项的值,将它们调大一些(例如设置为300秒)。 - 你也可以自己在网站根目录创建一个
phpinfo.php文件,内容为<?php phpinfo(); ?>,然后在浏览器中访问它,查看当前的PHP配置值。
PHP内存不足
处理长文章或大量图片时,可能会消耗大量PHP内存,如果内存耗尽,也会导致脚本崩溃,页面空白。
解决方案:
- 同样,联系服务商,请求增加
memory_limit的值(例如设置为256M或512M)。
文件权限问题
DedeCMS在保存文章时,需要向 data 目录下的数据库缓存文件(如 ./data/cache/article/)以及HTML文件目录(如 /html/)写入文件,如果这些目录的权限不正确,写入失败,也可能导致问题。
解决方案:
- 使用FTP工具或服务器控制面板,将以下目录及其子目录的权限设置为
755(对于目录)或644(对于文件):/data/目录/html/目录/uploads/目录/templets/目录
- 对于Linux服务器,这是一个常见的操作,对于Windows服务器,确保IIS或Apache用户对这些目录有“写入”权限。
第四部分:数据库与缓存问题
数据库缓存冲突
DedeCMS有很强的缓存机制,有时缓存文件损坏或产生冲突,会导致前台读取错误信息。
解决方案:
- 清理系统缓存: 进入DedeCMS后台“系统” -> “系统设置” -> “一键更新网站”,在页面底部找到“更新HTML”、“更新栏目”等按钮,旁边通常有“清理缓存”的选项,点击它进行清理。
- 手动删除缓存文件: 通过FTP删除
/data/cache/目录下的所有文件(注意:不是目录本身),DedeCMS会在下次访问时自动重新生成这些文件。
总结与排查流程建议
请按照以下步骤进行操作,可以高效地解决问题:
- 第一步(最可能): 发布文章时,使用“粘贴为纯文本”功能,并取消勾选“远程图片本地化”,然后保存测试。
- 第二步(排查模板): 如果第一步无效,检查文章内容页模板
article_article.htm,确保{dede:field.body/}标签存在且正确,可以尝试恢复默认模板来验证。 - 第三步(排查其他文章): 如果只是某一篇文章空白,那几乎可以肯定是第一步的粘贴问题,如果所有文章都空白,重点检查第二步的模板问题。
- 第四步(服务器环境): 如果模板和内容都没问题,考虑文章是否过长,联系服务商检查 PHP执行时间 和 内存限制。
- 最后一步(终极手段): 清理所有 缓存,并检查服务器目录 权限。
按照这个流程,绝大多数“DedeCMS保存文章空白”的问题都能得到解决,如果所有方法都试过了问题依旧,那可能是系统文件损坏,可以考虑覆盖安装或重新安装一个干净的DedeCMS程序。
