为什么需要设置权限?
DedeCMS 是一个动态网站,它需要通过 PHP 代码来执行各种操作,

- 生成静态 HTML:用户访问文章时,Dede 会将动态页面(如
article.php?id=123)生成一个静态的 HTML 文件(如/html/article/123/123.html),下次访问时直接读取这个 HTML 文件,速度更快。 - 上传文件:管理员上传图片、附件、软件等。
- 修改配置:通过后台修改网站配置、模板文件等。
这些操作都需要 PHP 进程去写入或修改服务器上的文件和目录,如果你的目录权限设置不当,PHP 就没有权限进行这些操作,从而导致各种问题,
- 无法生成文章,提示“Make HTML Error”。
- 上传图片失败,提示“没有权限”。
- 无法使用在线编辑器修改模板。
- 无法创建栏目或专题。
关键目录及其权限说明
在 DedeCMS 的根目录下,有几个核心目录是必须给予 PHP 写入权限的,请确保以下目录及其子目录的权限设置为 755,目录内文件的权限设置为 644。
必须可写的目录
这些目录是 DedeCMS 运行所必需的,PHP 必须能向其中写入数据。
| 目录名 | 作用 | 建议权限 |
|---|---|---|
data |
最核心的目录! 存放网站配置文件 (config.php), 缓存文件, 会话文件等。 |
目录: 755 文件: 644 |
uploads |
存放所有用户通过后台或前台上传的文件,如图片、附件、视频等。 | 目录: 755 文件: 644 |
a |
存放自动生成的专题目录。 | 目录: 755 文件: 644 |
special |
存放专题生成的静态文件。 | 目录: 755 文件: 644 |
html |
存放所有通过“生成HTML”功能创建的静态文章页面。 | 目录: 755 文件: 644 |
templets |
存放网站模板文件,虽然通常只读,但使用在线编辑器时需要写入权限。 | 目录: 755 文件: 644 |
plus |
存放插件和独立页面(如留言板、评论等)的文件,安装插件或生成页面时可能需要写入。 | 目录: 755 文件: 644 |
install |
安装目录,安装完成后,为了安全,强烈建议删除此目录或将其权限设置为 000(完全禁止访问)。 | 安装后删除或权限设为 000 |
重要但通常可读的目录
| 目录名 | 作用 | 建议权限 |
|---|---|---|
include |
存放 DedeCMS 的核心类库和函数文件,正常情况下 PHP 只读,无需写入。 | 目录: 755 文件: 644 |
member |
存放会员中心相关的文件,会员上传的头像等会存到 uploads 目录,此目录本身通常无需写入。 |
目录: 755 文件: 644 |
如何在本地环境中设置权限?
根据你使用的本地环境服务器不同,设置方法略有差异。

通过文件管理器(推荐,最直观)
这是最简单的方法,适用于大多数本地环境。
-
打开你的本地服务器根目录(XAMPP 的
htdocs目录,phpStudy 的WWW目录)。 -
找到你的 DedeCMS 项目文件夹。
-
设置目录权限 (755):
- 右键点击需要设置权限的目录(如
data)。 - 选择“属性”或“权限”(Properties/Permissions)。
- 在权限设置界面,你需要设置“所有者”、“组”和其他用户的权限。
- 755 的含义:
- 所有者:读、写、执行 (勾选
Read,Write,Execute) - 组:读、执行 (勾选
Read,Execute) - 其他人:读、执行 (勾选
Read,Execute)
- 所有者:读、写、执行 (勾选
- 应用更改。
- 右键点击需要设置权限的目录(如
-
设置文件权限 (644):
- 右键点击需要设置权限的文件(如
data/config.php)。 - 选择“属性”或“权限”。
- 644 的含义:
- 所有者:读、写 (勾选
Read,Write) - 组:读 (勾选
Read) - 其他人:读 (勾选
Read)
- 所有者:读、写 (勾选
- 应用更改。
- 右键点击需要设置权限的文件(如
通过命令行(高级用户)
如果你熟悉使用终端(如 Windows 的 CMD 或 PowerShell, macOS/Linux 的 Terminal),可以使用 chmod 命令。
-
打开终端。
-
使用
cd命令切换到你的 DedeCMS 根目录。# 如果你的项目在 XAMPP 的 htdocs 下 cd /path/to/your/xampp/htdocs/dedecms
-
递归设置目录权限 (755):
chmod -R 755 data uploads a special html templus plus-R参数表示递归,会修改该目录及其所有子目录和文件。
-
递归设置文件权限 (644):
chmod -R 644 data/* uploads/* a/* special/* html/* templus/* plus/*这个命令会将指定目录下所有文件的权限设置为 644。
通过 FTP/SFTP 客户端(如 FileZilla)
- 使用 FileZilla 连接到你的本地服务器(通常是
localhost,端口 21)。 - 导航到你的 DedeCMS 项目目录。
- 设置目录权限:
- 右键点击目标目录(如
data)。 - 选择“文件权限”(File permissions...)。
- 在弹出的窗口中,输入数字
755,然后点击“确定”。
- 右键点击目标目录(如
- 设置文件权限:
- 右键点击目标文件(如
data/config.php)。 - 选择“文件权限”。
- 输入数字
644,然后点击“确定”。
- 右键点击目标文件(如
常见问题排查
如果设置了权限后问题依旧,请检查以下几点:
- 所有者和用户组:确保目录和文件的所有者是运行 PHP 进程的用户,在本地环境中,通常是
apache或www-data,如果所有者是root,PHP 进程可能无法访问,可以通过chown -R apache:apache /path/to/dedecms来修改(Linux/macOS)。 - 安全模式:虽然 PHP 5.3+ 后已废弃,但某些老旧的本地环境可能仍开启,确保
safe_mode = Off。 php.ini设置:检查open_basedir和upload_tmp_dir等配置是否正确。- 目录
index文件:确保data和uploads等目录下没有index.html或index.php文件,这有时会干扰写入操作,DedeCMS 通常会自动创建一个空的index.html来防止目录列表被浏览,这是正常的。 - 文件/目录被锁定:某些文件(如
data/config.php)可能被其他程序或系统锁定,导致无法写入,尝试重启你的本地服务器(Apache/Nginx)。
对于本地环境的 DedeCMS,权限设置的核心就是:
将
data,uploads,html,templets等核心目录的权限设置为755,将目录内的文件权限设置为644。
这是解决绝大多数 DedeCMS 本地环境“无法写入”、“生成HTML失败”等问题的第一步,也是最重要的一步,使用文件管理器进行设置是最简单直接的方法。
