准备工作
修复前必须完成这两项,否则所有操作无效:
- 备份全网站文件+数据库:
- 文件备份:用FTP工具(推荐FileZilla免费版,下载地址:https://filezilla-project.org/download.php?type=client)将根目录所有文件压缩为zip包下载到本地
- 数据库备份:登录织梦后台【系统】→【数据库备份/还原】→全选所有表→点击【提交】→备份完成后会自动生成/data/backupdata/下的.sql文件,也需下载本地
- 获取织梦后台管理账号+FTP账号密码:确保账号有完全读写权限
第一类报错:Warning:mkdir()Permissiondenied
报错原因
生成静态页的目录没有写入权限,Linux系统居多,Windows需关闭只读属性
Linux系统修复步骤
- 用FileZilla连接服务器,找到以下目录(逐个检查):
- 根目录下的【a】文件夹(默认静态页存放目录)
- 根目录下的【data】文件夹(临时文件+权限配置文件存放)
- 根目录下的【templets】文件夹下的【default】(模板缓存生成)
- 右键点击上述每个文件夹→选择【文件权限】
- 在弹出的窗口中,数字权限输入777,勾选【将设置应用于子目录和文件】→点击【确定】
- 等待权限修改完成后,回到织梦后台重新生成即可
Windows系统修复步骤
- 远程桌面或本地找到网站根目录
- 右键点击上述每个文件夹→选择【属性】→切换到【安全】选项卡
- 点击【编辑】→选择当前登录的Windows用户(或IIS的IUSR_xxx用户)→勾选【完全控制】→点击【应用】→勾选【将权限应用于此文件夹、子文件夹和文件】→点击【确定】
- 回到织梦后台重新生成即可
第二类报错:Fatal error:Allowed memory size of xxx bytes exhausted
报错原因
PHP内存限制过小,无法支撑大量文章或复杂模板的静态生成
修复步骤
- 方法一:修改织梦根目录下的【data】→【config.cache.inc.php】(临时修改,重启服务器失效)
- 用FTP下载该文件,用记事本或Notepad++(下载地址:https://notepad-plus-plus.org/downloads/)打开,在文件开头第一行添加以下代码:
```php
ini_set('memory_limit', '512M');
```
- 保存后覆盖原文件,回到后台重新生成
- 方法二:修改PHP配置文件php.ini(永久修改,需重启服务器)
- 用FTP找到php.ini(一般在服务器/etc/php/7.x/目录下,Windows在PHP安装根目录)
- 搜索【memory_limit】,将默认的128M或256M改为512M或1024M:
```
memory_limit = 512M
```
- 保存后重启Apache/Nginx/IIS,回到后台重新生成
第三类报错:生成首页/列表/文章时“更新HTML成功”但无文件或文件为空
报错原因

可能是模板语法错误、生成规则配置错误、数据库连接异常导致
分步排查修复
- 第一步:检查模板语法
- 登录织梦后台【模板】→【默认模板管理】→找到报错对应的模板(首页是index.htm,列表页是list_article.htm,文章页是article_article.htm)
- 点击模板名称旁的【修改】,检查是否有未闭合的{dede:}标签或语法错误(比如缺少{dede:field.xxx/}的/,或者{dede:arclist}没有{/dede:arclist})
- 如有错误修正后点击【保存】,回到后台重新生成
- 第二步:检查生成规则配置
- 登录织梦后台【系统】→【系统基本参数】→切换到【核心设置】选项卡
- 确认以下参数正确(默认值即可,除非有特殊需求):
- HTML文件存放目录:a
- 列表命名规则:{typedir}/list_{tid}_{page}.html
- 文章命名规则:{typedir}/{Y}{M}/{D}/{aid}.html
- 再切换到【站点设置】选项卡,确认【网站根网址】正确(必须带http://或https://,结尾不要加/)
- 第三步:检查数据库连接
- 用FTP下载根目录下的【data】→【common.inc.php】
- 用Notepad++打开,确认以下数据库信息与实际一致:
```php
```
第四类报错:DedeTag Engine Create File False
报错原因
可能是生成路径过长(Windows系统路径不能超过260字符)、目录不存在、文件名包含非法字符
修复步骤
- 检查并缩短生成路径
- 登录织梦后台【系统】→【系统基本参数】→【核心设置】,将文章/列表命名规则改短,比如文章命名规则改为:{typedir}/{aid}.html
- 手动创建缺失目录
- 用FTP连接服务器,根据生成规则找到缺失的目录(比如生成规则是{typedir}/{Y}{M}/{D}/{aid}.html,先看a/栏目ID目录是否存在,再看里面的202X/XX/XX目录是否存在)
- 如缺失,右键点击上级目录→选择【创建目录】,输入缺失的目录名→点击【确定】,并设置该目录权限为777(Linux)或完全控制(Windows)
- 检查并修改非法字符的文章/栏目
- 非法字符包括:\ / : ? " < > |
- 登录织梦后台【核心】→【网站栏目管理】,逐个检查栏目别名是否有非法字符,有则修改后点击【保存】
- 登录织梦后台【核心】→【内容管理】,逐个检查报错的文章标题是否有非法字符,有则修改后点击【保存】
第五类报错:生成时提示“找不到档案ID:xxx”
报错原因
数据库中存在被删除但还在缓存或索引里的“幽灵档案”
修复步骤
- 登录织梦后台【系统】→【系统SQL命令行工具】
- 输入以下SQL语句(注意替换表前缀,默认是dede_):
```sql
DELETE FROM dede_arctiny WHERE id NOT IN (SELECT id FROM dede_archives);
DELETE FROM dede_taglist WHERE aid NOT IN (SELECT id FROM dede_archives);
DELETE FROM dede_arcmulti WHERE aid NOT IN (SELECT id FROM dede_archives);
DELETE FROM dede_archives WHERE channel=-1;
```
- 点击【确定】执行SQL语句
- 再登录织梦后台【生成】→【更新系统缓存】→点击【开始执行】
- 缓存更新完成后,回到后台重新生成即可