dede本地目录权限如何正确设置?

99ANYc3cd6
预计阅读时长 12 分钟
位置: 首页 DEDE建站 正文

为什么需要设置权限?

DedeCMS 是一个动态网站,它需要通过 PHP 代码来执行各种操作,

dede本地目录权限
(图片来源网络,侵删)
  • 生成静态 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

如何在本地环境中设置权限?

根据你使用的本地环境服务器不同,设置方法略有差异。

dede本地目录权限
(图片来源网络,侵删)

通过文件管理器(推荐,最直观)

这是最简单的方法,适用于大多数本地环境。

  1. 打开你的本地服务器根目录(XAMPP 的 htdocs 目录,phpStudy 的 WWW 目录)。

  2. 找到你的 DedeCMS 项目文件夹。

  3. 设置目录权限 (755)

    • 右键点击需要设置权限的目录(如 data)。
    • 选择“属性”或“权限”(Properties/Permissions)。
    • 在权限设置界面,你需要设置“所有者”、“组”和其他用户的权限。
    • 755 的含义
      • 所有者:读、写、执行 (勾选 Read, Write, Execute)
      • :读、执行 (勾选 Read, Execute)
      • 其他人:读、执行 (勾选 Read, Execute)
    • 应用更改。
  4. 设置文件权限 (644)

    • 右键点击需要设置权限的文件(如 data/config.php)。
    • 选择“属性”或“权限”。
    • 644 的含义
      • 所有者:读、写 (勾选 Read, Write)
      • :读 (勾选 Read)
      • 其他人:读 (勾选 Read)
    • 应用更改。

通过命令行(高级用户)

如果你熟悉使用终端(如 Windows 的 CMD 或 PowerShell, macOS/Linux 的 Terminal),可以使用 chmod 命令。

  1. 打开终端。

  2. 使用 cd 命令切换到你的 DedeCMS 根目录。

    # 如果你的项目在 XAMPP 的 htdocs 下
    cd /path/to/your/xampp/htdocs/dedecms
  3. 递归设置目录权限 (755)chmod -R 755 data uploads a special html templus plus

    • -R 参数表示递归,会修改该目录及其所有子目录和文件。
  4. 递归设置文件权限 (644)chmod -R 644 data/* uploads/* a/* special/* html/* templus/* plus/*

    这个命令会将指定目录下所有文件的权限设置为 644。

通过 FTP/SFTP 客户端(如 FileZilla)

  1. 使用 FileZilla 连接到你的本地服务器(通常是 localhost,端口 21)。
  2. 导航到你的 DedeCMS 项目目录。
  3. 设置目录权限
    • 右键点击目标目录(如 data)。
    • 选择“文件权限”(File permissions...)。
    • 在弹出的窗口中,输入数字 755,然后点击“确定”。
  4. 设置文件权限
    • 右键点击目标文件(如 data/config.php)。
    • 选择“文件权限”。
    • 输入数字 644,然后点击“确定”。

常见问题排查

如果设置了权限后问题依旧,请检查以下几点:

  1. 所有者和用户组:确保目录和文件的所有者是运行 PHP 进程的用户,在本地环境中,通常是 apachewww-data,如果所有者是 root,PHP 进程可能无法访问,可以通过 chown -R apache:apache /path/to/dedecms 来修改(Linux/macOS)。
  2. 安全模式:虽然 PHP 5.3+ 后已废弃,但某些老旧的本地环境可能仍开启,确保 safe_mode = Off
  3. php.ini 设置:检查 open_basedirupload_tmp_dir 等配置是否正确。
  4. 目录 index 文件:确保 datauploads 等目录下没有 index.htmlindex.php 文件,这有时会干扰写入操作,DedeCMS 通常会自动创建一个空的 index.html 来防止目录列表被浏览,这是正常的。
  5. 文件/目录被锁定:某些文件(如 data/config.php)可能被其他程序或系统锁定,导致无法写入,尝试重启你的本地服务器(Apache/Nginx)。

对于本地环境的 DedeCMS,权限设置的核心就是:

data, uploads, html, templets 等核心目录的权限设置为 755,将目录内的文件权限设置为 644

这是解决绝大多数 DedeCMS 本地环境“无法写入”、“生成HTML失败”等问题的第一步,也是最重要的一步,使用文件管理器进行设置是最简单直接的方法。

-- 展开阅读全文 --
头像
dede调用图片代码怎么写?
« 上一篇 04-18
织梦标签如何调用缩略图?
下一篇 » 04-18

相关文章

取消
微信二维码
支付宝二维码

目录[+]