安装环境检测不通过,卡在“配置目录权限”
报错现象:
安装织梦CMS时,环境检测页面提示“/data”、“/templets”等目录不可写,点击“继续”后直接跳转404,无法进入下一步。
原因分析:
这通常不是PHP或MySQL版本问题,而是Linux服务器下目录所有权与Web服务用户(如www、nginx、apache)不一致,织梦安装程序会尝试创建install_lock.txt,若目录权限为755且属主为root,则写入失败。
解决步骤:
织梦CMS首页时间定格之谜,从报错到秒开的运维实战手册
- SSH登录服务器,执行:
chown -R www:www /var/www/html(将站点目录属主改为Web用户) - 设置目录权限为755、文件为644:
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \; - 特别授权
/data、/a、/templets等缓存与模板目录为777:
chmod -R 777 /var/www/html/data - 重新运行安装脚本即可。
后台登录无限跳转或提示“验证码错误”
报象现象:
输入正确的管理员账号密码后,页面反复跳回登录页,或提示“验证码输入错误”,但验证码明明正确。
原因分析:
织梦后台采用Session验证,当PHP配置session.save_path不可写,或服务器时间与本地时间偏差过大(超过2分钟)时,验证码字符串无法正确比对,若之前安装过其他程序,残留的/data/sessions目录权限错误也会导致此问题。
解决步骤:
- 检查PHP.ini中
session.save_path的值,如为空则手动指定:
session.save_path = "/tmp",并重启PHP-FPM。 - 清空
/data/sessions目录下所有文件,并设置权限:
rm -rf /data/sessions/*
chmod 777 /data/sessions - 同步服务器时间:
ntpdate pool.ntp.org - 若仍失败,在
/data/admin/目录下找到config.php,将$cfg_cookie_path改为。
首页页面空白或输出乱码
报错现象:
访问首页时,浏览器显示全白,或出现“锟斤拷”、“测试”等乱码,查看源代码,HTML结构不完整。
原因分析:
80%的原因是模板文件编码与数据库编码不一致,导致汉字被拆分为无效UTF-8字节,另有可能是主页模板中调用了不存在的函数,PHP解析时直接终止输出。
解决步骤:
- 用Sublime Text或VS Code打开
/templets/default/index.htm,检查文件编码:若显示“GBK”,而数据库是UTF-8,则全选另存为“UTF-8无BOM”格式。
- 打开
/include/common.inc.php,确认$cfg_soft_lang = 'utf-8';(或‘gb2312’),与模板编码一致。 - 清除缓存:删除
/data/cache下所有文件。 - 若空白依旧,检查
index.htm中是否包含{dede:php}标签,该标签在PHP安全模式下会失效,删除或替换为{dede:global.cfg_basehost/}。
模板标签调用无效,比如{dede:arclist} 不出数据
报错现象:
首页某个栏目列表区域空白,其他区域正常,后台查看栏目有文章,但前端不显示。
原因分析:
常见于栏目ID错误或typeid参数写死为1,但实际栏目ID已变;或是标签中row参数超过文章总数;更隐蔽的是服务器启用了opcache,导致模板编译后的PHP文件过期不更新。
解决步骤:
- 后台“核心”->“频道模型”->“内容模型”,确认目标栏目ID。
- 将标签改为:
{dede:arclist typeid='5' row='10' titlelen='30'}(把5改成实际ID)。 - 在后台“系统”->“SQL命令行工具”执行:
UPDATE dede_arctype SET arcrank = 0;(确保栏目不是“待审核”状态)。 - 清除opcache:若用宝塔面板,在“软件商店”->“PHP扩展”中禁用opcache,或重启PHP-FPM。
生成静态首页时报错“DedeTag Engine Create File False”
报错现象:
点击“生成主页”后,页面提示“DedeTag Engine Create File False”或“写入失败”,但目录权限已设为777。
原因分析:
此问题在Windows服务器下高频出现,原因是/data/index.html文件被占用(如被杀毒软件锁定),或index.html是只读属性,Linux下则多是磁盘空间满或inode耗尽。
解决步骤:
- Windows服务器:右键
/data/index.html-> 属性 -> 取消“只读”,并关闭360、火绒等文件监控。 - Linux服务器:执行
df -h检查磁盘使用率,若100%则删除/data/cache及/logs下旧日志。 - 查看inode:
df -i,若耗尽则清理/tmp下的临时文件。 - 在后台“系统”->“系统基本参数”->“性能选项”,将“生成目录的权限”改为“0777”。
数据库连接失败,后台全部页面报错
报错现象:
打开后台任何页面都提示“Connection refused”或“Access denied for user”。
原因分析:
分为两种情况:一是MySQL服务未启动;二是/data/common.inc.php中的数据库密码与MySQL实际密码不符——这种情况多发生在服务器迁移或修改了MySQL root密码后,织梦配置未同步更新。
解决步骤:
- 先确认MySQL状态:
- Linux:
systemctl status mysqld,若未启动则systemctl start mysqld。
- Linux:
- 重置织梦数据库密码:
编辑/data/common.inc.php,找到$cfg_dbuser和$cfg_dbpwd,改为新用户/密码。 - 若忘记MySQL密码,用无密码模式启动:
mysqld_safe --skip-grant-tables &,然后执行
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE USER='root';
FLUSH PRIVILEGES; - 改完配置后,删除
/data/install_lock.txt,重新登录后台。
结尾速查:
以上问题均是由权限、编码、目录占用、Session或数据库配置引起,运维织梦CMS的核心思路是:先看日志(/data/logs)、再查权限(用户组+权限位)、最后验证标签参数,遇到页面空白,优先检查php.ini的error_reporting,开启display_errors后刷新,多数能直接看到致命错误行号,避免瞎猜,按照本文步骤逐一排除,你的首页时间设置或生成功能,十分钟内即可恢复如初。



发表评论