核心思路:评论功能涉及“前端显示”、“后端处理”、“数据库存储”三个环节,任何一个环节出错都会导致功能失效。
第一步:基础检查(最常见原因)
这部分检查能解决80%以上的问题。

(图片来源网络,侵删)
检查评论开关是否开启
这是最容易被忽略但最基本的一步。
- 操作路径:登录织梦后台 -> 系统 -> 系统基本参数 -> 核心设置。
- 检查项:找到 “是否开启评论” 选项,确保它被设置为 “是”。
检查栏目/单篇文章的评论权限
即使全局开启了评论,也可能在栏目或单篇文章级别被关闭了。
-
检查栏目:
- 进入 “栏目管理”,点击你需要开启评论的栏目。
- 在栏目设置中,找到 “允许评论” 选项,确保勾选为 “是”。
- 特别注意:检查该栏目及其所有上级栏目的此项设置,织梦会继承上级栏目的设置。
-
检查单篇文章:
(图片来源网络,侵删)- 进入 “所有档案”,编辑你需要开启评论的文章。
- 在文章编辑界面的右侧,找到 “选项” 或 “高级选项” 标签页。
- 确保 “允许评论” 被勾选。
检查评论审核状态
织梦默认情况下,新提交的评论需要管理员审核后才能显示,如果未审核,用户在前端是看不到的。
- 操作路径:登录织梦后台 -> 评论 -> 评论管理。
- 检查项:查看是否有待审核的评论,如果有,点击它,将其状态修改为“已审核”,然后刷新前台页面看看是否显示。
第二步:权限与文件检查
如果基础设置没问题,那么很可能是文件权限或PHP环境的问题。
检查关键目录的写入权限
评论功能需要向服务器写入数据,例如将评论内容存入缓存或日志文件,这些目录必须拥有可写权限。
- 需要检查的目录:
/data目录:这是织梦的核心数据目录,权限必须设置为 755 或 777(不推荐,但为了排查可以暂时设置)。/dede目录(后台目录):通常权限是 755。/templets目录:权限通常是 755。/uploads目录:权限通常是 755。
- 如何设置:
- 通过FTP工具(如 FileZilla)连接你的服务器,右键点击目录,选择“文件权限”,然后输入数字(如 755)。
- 通过服务器的控制面板(如 cPanel、宝塔面板)进行设置。
检查评论相关的PHP文件是否存在
在升级或迁移网站时,可能会不小心删除了关键文件。

(图片来源网络,侵删)
- 关键文件:
/plus/feedback.php:这是处理评论提交的核心文件。/include/feedback.class.php:这是评论功能的类文件。
- 操作:通过FTP检查这两个文件是否存在,如果不存在,从织梦官方的完整安装包中找到并上传到对应目录。
检查PHP版本兼容性
织梦DedeCMS的不同版本对PHP的要求不同,如果你使用了过高的PHP版本(如PHP 8.0+),可能会导致旧版本的织梦出现各种不兼容问题,其中就包括评论功能失效。
- 操作:登录织梦后台 -> 系统 -> 系统基本参数 -> 系统设置,查看 “PHP版本”。
- 建议:
- DedeCMS 5.7 建议使用 PHP 5.6 - 7.2。
- DedeCMS 5.8 建议使用 PHP 7.0 - 7.4。
- 如果PHP版本过高,可以尝试在服务器控制面板中切换到一个兼容的版本。
第三步:代码与数据库检查
如果以上步骤都无效,那么问题可能出在代码层面或数据库层面。
检查评论表单代码
模板文件中的评论表单代码可能被误删或修改。
- 操作路径:通过FTP进入
/templets/你的默认模板目录/文件夹。 - 检查文件:打开文章内容页模板文件(通常是
article_article.htm)。 - 检查代码:在文件中查找类似
{dede:feedback}的代码块,确保这部分代码完整存在,并且没有被注释掉(没有被<!--和-->包围)。<!--这是评论表单的标准代码,请检查你的模板中是否存在--> <div class="plbox"> <div class="tb-comment"> {dede:feedback} <form action="/plus/feedback.php" method="post"> <input type="hidden" name="aid" value="{dede:field.id/}" /> <input type="hidden" name="action" value="send" /> <dl> <dt><strong>发表评论:</strong></dt> <dd> <textarea name="msg" id="msg" rows="3" cols="60"></textarea> </dd> <dd> <label for="username">昵称:</label> <input type="text" name="username" id="username" size="16" class="input-text" /> <label for="validate">验证码:</label> <input type="text" name="validate" id="validate" size="4" class="input-text" /> <img src="{dede:field name='phpurl'/}/vdimgck.php" onclick="this.src='{dede:field name='phpurl'/}/vdimgck.php?'+Math.random();" alt="看不清?点击换一张" style="cursor:pointer" /> </dd> <dd> <button type="submit" name="submit">发表评论</button> </dd> </dl> </form> {/dede:feedback} </div> </div>
检查数据库表
数据库中的评论表(dede_feedback)可能损坏或不存在。
- 操作路径:登录织梦后台 -> 系统 -> 数据库备份/还原 -> SQL命令工具。
- 执行SQL:在命令框中输入以下命令,然后点击“查询”或“执行”。
SHOW TABLES LIKE '%feedback%';
- 分析结果:
- 如果查询结果为空,说明
dede_feedback表不存在,你需要从备份中恢复或重新创建。 - 如果表存在,你可以尝试执行一次“修复表”操作(这个操作通常在phpMyAdmin中进行更方便)。
- 登录你的phpMyAdmin。
- 选择你的织梦数据库。
- 点击
dede_feedback表。 - 选择“操作”选项卡。
- 在“表选项”中,找到“修复表”,并执行。
- 如果查询结果为空,说明
第四步:终极解决方案(如果以上都无效)
如果所有排查都做了问题依旧,可以尝试以下“大杀器”。
重新上传核心文件
网站文件可能因为未知原因损坏。
- 操作:
- 从织梦官网下载与你当前版本完全一致的官方安装包。
- 通过FTP,将安装包里的
/dede、/include、/plus这三个核心目录(注意是目录,不是整个安装包)中的所有文件,覆盖到你网站服务器上对应的目录。 - 注意:覆盖前最好备份一下你原来的这三个目录,以防万一,覆盖时,如果提示文件已存在,选择“覆盖”。
检查JS冲突或浏览器缓存
前端的JS代码冲突或浏览器缓存也会导致看似功能失效的问题。
- 尝试方法:
- 清除浏览器缓存:使用
Ctrl + F5(或Cmd + Shift + R) 强制刷新页面。 - 无痕/隐私模式访问:在无痕模式下打开文章评论页,看看是否正常。
- 检查浏览器控制台:按
F12打开开发者工具,切换到“Console(控制台)”标签页,提交评论时看是否有红色的错误信息,如果有,根据错误信息进行针对性搜索。
- 清除浏览器缓存:使用
总结排查清单
| 检查项 | 路径/操作 | 预期结果 |
|---|---|---|
| 全局评论开关 | 后台 -> 系统基本参数 -> 核心设置 | 设置为“是” |
| 栏目评论权限 | 后台 -> 栏目管理 -> 编辑栏目 | 设置为“是” |
| 文章评论权限 | 后台 -> 所有档案 -> 编辑文章 | 勾选“允许评论” |
| 评论审核状态 | 后台 -> 评论管理 | 有评论且状态为“已审核” |
| 目录写入权限 | FTP/服务器控制面板 | /data 等关键目录为 755 |
| 核心PHP文件 | FTP 检查 | /plus/feedback.php 存在 |
| PHP版本兼容性 | 后台 -> 系统基本参数 -> 系统设置 | 版本在推荐范围内 |
| 评论表单代码 | /templets/模板目录/article_article.htm |
{dede:feedback} 代码完整 |
| 数据库表状态 | phpMyAdmin | dede_feedback 表存在且正常 |
| 重新上传核心文件 | 用官方安装包覆盖 /dede, /include, /plus |
问题解决 |
按照这个清单从上到下逐一排查,你一定能找到导致织梦评论功能失效的“罪魁祸首”,祝你成功解决问题!
