Skip to content

问题现象

在安装、部署或运行 EBAOZU 系统时,页面或终端提示以下错误之一:

  • The directory "/www/wwwroot/xxx/runtime" is not writable
  • file_put_contents(/www/wwwroot/xxx/...): Failed to open stream: Permission denied
  • mkdir(): Permission denied
  • 无法上传图片或上传后提示目录无写入权限。

根本原因

Linux 系统对文件与目录有严格的用户所有权(Owner)和权限位(Permission)限制。 EBAOZU 的 Swoole 进程及 Web 服务器(Nginx/PHP-FPM)通常以 www 用户身份运行。若源码解压、Git 拉取或由 root 用户手动创建的文件未赋予 www 用户的读写权限,就会导致写入失败。


解决方案

方法一:通过 Linux 命令行一键修复(推荐)

通过 SSH 连接到服务器,执行以下命令将项目所有权和关键目录写权限修正:

bash
cd /www/wwwroot

chown -R www:www 你的项目目录

# 设置通用文件与目录权限为 755
chmod -R 755 你的项目目录

# 为需要写入的缓存与上传目录赋予读写权限
chmod -R 777 你的项目目录/runtime
chmod -R 777 你的项目目录/public/uploads

方法二:通过宝塔面板可视化设置

  1. 登录宝塔面板,进入【文件】管理。
  2. 找到项目目录(如 /www/wwwroot/你的项目目录)。
  3. 勾选整个项目目录,点击上方或右侧的【权限】。
  4. 在弹出的权限设置框中:
    • 所有者选择:www
    • 用户组选择:www
    • 权限设置为:755,勾选【应用到子目录】后点击确定。
  5. 针对 runtime 目录和 public/uploads 目录,单独设置权限为 777(包含子目录)。

验证与测试

权限修复完成后,在终端以 www 用户身份测试写入或直接重启守护进程:

bash
supervisorctl restart ebaozu_v4

再次在后台测试上传图片或刷新页面,确认权限报错消除。

承信租多门店租赁商城系统官方文档