第一步:最常见的原因(90%的问题出在这里)
检查目录权限(最重要!)
织梦系统需要写入权限的目录主要有:

(图片来源网络,侵删)
/data目录:这是核心目录,用于存放配置文件、缓存、SESSION等。/uploads目录:用于上传附件、图片等。/templets目录:用于缓存模板编译文件。/special目录:用于专题目录。/plus目录:用于附加功能。
如何检查和修复权限:
-
Linux服务器 (使用SSH):
# 将这些目录的所有者和组改为运行Web服务的用户(通常是www或nginx) chown -R www:www /你的网站根目录/dedecms/data chown -R www:www /你的网站根目录/dedecms/uploads chown -R www:www /你的网站根目录/dedecms/templets chown -R www:www /你的网站根目录/dedecms/special chown -R www:www /你的网站根目录/dedecms/plus # 给予这些目录755的权限,给予文件644的权限 find /你的网站根目录/dedecms/data -type d -exec chmod 755 {} \; find /你的网站根目录/dedecms/data -type f -exec chmod 644 {} \;- 注意: 请将
/你的网站根目录/dedecms替换为你实际的网站路径。
- 注意: 请将
-
Windows服务器:
- 右键点击这些文件夹 -> “属性” -> “安全”。
- 确保运行IIS或Apache的用户(如 IIS_IUSRS, SYSTEM, 或你的网站用户)拥有“完全控制”权限。
-
虚拟主机/宝塔面板:
(图片来源网络,侵删)- 宝塔面板非常方便,进入你的网站管理 -> “文件” -> 找到上述目录 -> 右键选择“权限”,设置为
755(目录) 和644(文件)。 - 如果面板有“安全设置”或“权限设置”功能,可以直接搜索并修复。
- 宝塔面板非常方便,进入你的网站管理 -> “文件” -> 找到上述目录 -> 右键选择“权限”,设置为
检查服务器安全软件
- 安全狗/云锁等: 这些软件可能会拦截织梦后台的某些操作,误以为是攻击行为。
- 操作方法: 暂时关闭或暂停这些软件,然后尝试添加文章,如果可以了,说明就是它们拦截了,你需要去软件的“白名单”或“放行规则”中,将你的后台目录(如
/dede/)和添加文章的脚本(如article_add.php)加入白名单。
第二步:检查系统配置和文件
检查系统基本参数
登录织梦后台 -> “系统” -> “系统基本参数” -> “核心设置”。
- 是否开启会员: 确保不是误设置为“仅会员可以发布内容”。
- 附件目录: 检查
/uploads目录路径是否正确。 - 站点路径: 检查是否填写正确。
检查自定义模型字段
如果你修改过文章模型,或者添加了自定义字段,很可能是某个字段的配置错误导致提交失败。
- 操作方法:
- 登录后台 -> “核心” -> “内容模型管理”。
- 点击“普通文章”后面的“字段管理”。
- 检查每个字段的“表单提示文字”、“字段名称”等是否包含特殊字符(如单引号、双引号、反斜杠
\等)。 - 特别是如果你最近添加了新字段,可以先尝试删除它,看是否可以正常添加文章。
检查PHP环境和函数
- PHP版本过低: 织梦旧版本(如DedeV5.7)对PHP 7.0以上版本支持不佳,可能导致各种未知错误,建议使用 PHP 5.6 版本,这是最稳定的组合。
- 关键函数被禁用: 检查PHP是否禁用了以下函数,这些是织梦运行必需的。
phpinfo()move_uploaded_file()fsockopen()或curl_init()(用于远程保存等)mkdir()rmdir()unlink()is_dir()is_file()
- 如何检查: 创建一个
info.php文件,内容为<?php phpinfo(); ?>,上传到网站根目录访问,查看 "disable_functions" 项。
清理缓存
有时候缓存文件损坏也会导致奇怪的问题。
- 操作方法:
- 通过FTP或文件管理器,删除
/data目录下的所有缓存文件(特别是cache_*和session_*文件,但不要删除config.cache.inc.php)。 - 在后台“系统” -> “系统设置” -> “一键更新网站缓存”中,重新生成缓存。
- 通过FTP或文件管理器,删除
第三步:检查数据库和浏览器
检查数据库连接
虽然能登录后台说明数据库基本没问题,但配置文件可能被意外修改。
- 操作方法:
- 用文本编辑器打开
/data/common.inc.php文件。 - 检查里面的数据库信息(
$cfg_dbhost,$cfg_dbname,$cfg_dbuser,$cfg_dbpwd)是否完全正确。
- 用文本编辑器打开
检查浏览器问题
- 清除缓存和Cookie: 尝试清除浏览器缓存和Cookie,或者使用浏览器的“无痕/隐私模式”登录后台,再尝试添加文章。
- 尝试不同浏览器: 换一个浏览器(如从Chrome换到Firefox)试试,排除浏览器插件或自身兼容性问题。
第四步:终极解决方案(如果以上都无效)
查看错误日志
这是最直接的排查方法,能告诉你程序在哪个地方出错了。
- 服务器日志: 查看你的Web服务器(Apache/Nginx)的错误日志,通常在
/var/log/apache2/error.log或/var/log/nginx/error.log。 - 织梦调试模式:
- 打开
/include/common.inc.php文件。 - 找到
//error_reporting(E_ALL);和//ini_set('display_errors', '1');这两行。 - 去掉前面的 ,将它们修改为:
error_reporting(E_ALL); ini_set('display_errors', '1'); - 现在再去后台添加文章,页面会直接显示出具体的错误信息,比如是哪个SQL语句错了,是哪个文件找不到,根据错误信息去搜索,就能找到具体原因。
- 排查完后,务必记得把这行代码注释掉,否则会给黑客暴露信息。
- 打开
重新上传核心文件
可能你的核心文件在之前操作中被损坏或替换过。
- 操作方法:
- 从织梦官方下载一个与你当前版本完全相同的安装包。
- 解压安装包,找到
/dede/目录下的article_add.php文件。 - 用这个新的
article_add.php文件,覆盖你网站服务器上对应的文件。 - 同样,可以覆盖
archives_add.php等其他相关的添加文件。
总结排查流程建议:
- 先修复目录权限(尤其是
/data目录)。 - 检查安全软件是否拦截。
- 检查自定义字段是否出错。
- 开启织梦调试模式,查看具体错误信息,这是最关键的一步。
- 如果错误信息指向PHP函数或版本,则调整PHP环境。
- 最后考虑重新上传核心文件。
按照这个流程,绝大多数的“织梦后台添加不了文章”问题都能得到解决,祝你成功!
