安装环境检测不通过,进度条卡在“网络环境”或“目录权限”
织梦CMS首页生成自动卡壳?运维老手私藏的高频故障排查实战手册
- 报错现象: 安装织梦CMS时,环境检测列表里某项显示红色叉号,尤其是“allow_url_fopen”或“写入权限”这两项,点击“继续”无反应,或者直接跳回第一步。
- 原因分析: 绝大多数情况是PHP配置文件(php.ini)中相关函数被禁用,或是站点目录属主(Owner)与Web服务器用户(如www或nginx)不一致,导致无法创建配置文件或缓存目录。
- 解决步骤:
- 登录服务器(宝塔或命令行),找到当前PHP版本的
php.ini文件。 - 搜索
disable_functions,将allow_url_fopen、scandir、file_get_contents从禁用列表中移除,保存后重载PHP服务。 - 在站点根目录执行
chown -R www:www /www/wwwroot/你的站点名(以宝塔默认用户为例),同时设置目录权限为755,文件为644。 - 重新打开安装页面,强制刷新(Ctrl+F5)后检测项即变绿。
- 登录服务器(宝塔或命令行),找到当前PHP版本的
后台登录异常,输入账号密码后一直“转圈”或返回空白页
- 报象现象: 后台登录页能打开,但输入管理员账号密码点击登录,浏览器底部状态栏一直加载,最后页面呈现空白,无任何错误提示。
- 原因分析: 通常是
data/目录下的session文件无法写入,或者是/include/common.inc.php中引用的某个扩展组件(如Zend Guard)在当前PHP版本下未加载成功,导致进程中断。 - 解决步骤:
- 检查
data/sessions目录是否存在,若无则手动创建并设置权限为777(或按主机要求设为775)。 - 查看PHP错误日志(如
/www/wwwlogs/你的站点.error.log),如果有“Fatal error: Class 'mysqli' not found”,则在php.ini中开启extension=mysqli。 - 清除浏览器缓存与Cookie,使用无痕模式重新登录,若依旧空白,临时修改
/include/common.inc.php中error_reporting(0)为error_reporting(E_ALL),刷新页面看具体报错再处理。
- 检查
首页生成自动更新时,页面出现乱码或大片“锟斤拷”
- 报错现象: 后台执行“生成首页”或“更新所有文档”后,前台首页显示为乱码,或出现几个特定字符重复出现。
- 原因分析: 这是典型的字符集冲突,织梦默认使用
utf-8,但部分模板文件(.htm)或数据库连接被强制改为了gb2312,或者HTML文件本身被记事本改为了ANSI编码保存。 - 解决步骤:
- 用Notepad++或VS Code打开首页模板
/templets/default/index.htm,检查右下角编码是否为“UTF-8 无BOM”,若不是则转换保存。 - 修改
/data/config.cache.inc.php,确认$cfg_soft_lang = 'utf-8';与$cfg_db_language = 'utf8';。 - 在后台“系统”->“系统基本参数”->“其他选项”中,将“默认模板编码”设为“UTF-8”。
- 强制刷新首页,如果仍是乱码,删除
/data/cache/下的所有缓存文件,重新生成。
- 用Notepad++或VS Code打开首页模板
首页模板标签调用无效,比如{dede:arclist}
- 报错现象: 首页能正常访问,但所有包含调用文章的标签区域均为空白,其他地方正常,查看HTML源码,标签被原样输出或直接消失。
- 原因分析: 模板文件名或标签语法错误,最常见的是将标签的大小写搞混(如
{Dede:Arclist}),或者是模板文件保存时加入了BOM头,导致解析器无法识别。 - 解决步骤:
- 检查模板文件里是否混用了全角冒号或括号,必须使用半角。
- 在后台“模板”->“默认模板管理”,找到对应模板,点击“修改”,查看
[field:title/]等底层字段是否拼写正确。 - 如果使用了自定义字段,需确认在后台“内容模型”中已添加该字段,且调用代码为
[field:自定义字段名/]。 - 清空
/data/tplcache/目录下的所有.php文件,这些是模板编译缓存,删除后系统会重新编译。
生成静态页报错“DedeTag Engine Create File False”
- 报错现象: 后台点“生成”->“生成主页”或“生成栏目页”时,进度条走到一半,提示“Create File False”或“写入文件失败”。
- 原因分析: 目标路径的HTML文件(如
/index.html或/list.php)被赋予了只读属性,或是网站根目录磁盘空间已被占满(Inode溢出)。 - 解决步骤:
- 检查根目录
index.html权限,执行chattr -i /www/wwwroot/站点/index.html取消锁定。 - 查看磁盘空间:命令行执行
df -h,若使用率100%,则清理/www/wwwlogs/下的旧日志备份,或删除/data/backup下的老旧数据库备份。 - 在后台“系统”->“SQL命令行工具”中,执行
TRUNCATE TABLE dede_plus_cache;清理缓存表。 - 若仍失败,手动删除根目录下
index.html和list.html,重新生成。
- 检查根目录
数据库连接失败,提示“Connection refused”或“Access denied”
- 报错现象: 整个网站包括后台都无法访问,页面提示数据库连接错误。
- 原因分析: 数据库服务未启动、密码错误、或数据库连接数达到上限,也可能是被第三方防护软件拦截了3306端口。
- 解决步骤:
- 在服务器命令行执行
service mysqld restart(或systemctl restart mysql)重启数据库。 - 编辑
/data/common.inc.php,检查$cfg_dbuser、$cfg_dbpwd、$cfg_dbname是否与创建数据库时一致。注意:密码中包含特殊字符(如、)需用转义符处理。 - 登录宝塔面板,查看“数据库”列表中该库的“访问权限”是否设置为“本地服务器”,若为“任意主机”也可能导致拒绝。
- 在MySQL命令行执行
SHOW PROCESSLIST;,查看是否有大量Sleep进程占用连接,用KILL id;结束异常进程。
- 在服务器命令行执行
首页生成自动更新后,页面“无变化”或始终显示旧缓存
- 报错现象: 修改了后台内容或模板,点击“生成首页”提示“成功”,但前台页面还是旧内容。
- 原因分析: 浏览器或CDN缓存了静态HTML页面,或者织梦的“定时自动生成”功能与手动生成规则冲突。
- 解决步骤:
- 在浏览器按
Ctrl+Shift+Delete清除缓存,并强制刷新。 - 若使用了CDN,请在CDN控制台刷新全部缓存(或点击“URL刷新”输入首页地址)。
- 进入后台“系统”->“计划任务”,检查是否有“自动生成主页”任务被误设为“每天”,将其设为“无”。
- 在服务器执行
find /www/wwwroot/站点 -name "*.html" -mmin -5,查看首页文件时间戳是否被更新,若没有,说明生成未真正写入磁盘,检查目录写权限。
- 在浏览器按



发表评论