【问题标题】:Can't delete laravel storage cache folder无法删除 laravel 存储缓存文件夹
【发布时间】:2020-04-29 21:28:15
【问题描述】:

我是 Laravel 的新手。

我正在尝试删除/storage/framework/cache/ 下的数据文件夹。

我做了php artisan cache:clear 产生:Application cache cleared!

但是当我进入目录/storage/framework/cache/data 时,我看到旧的缓存文件夹仍然存在,当我尝试手动删除该文件夹时,我遇到了权限问题。

我已按照以下线程授予存储文件夹的权限。

How to set up file permissions for Laravel?

权限级别 -

drwxrwsr-x   7  ubuntu   www-data 4096 Apr 24 22:48 storage
   drwxrwxr-x   7  ubuntu   www-data 4096 Apr 28 16:57 framework
     drwxrwxr-x   4  ubuntu   www-data 4096 Apr 29 18:32 cache
        drwxrwxr-x   39 www-data www-data 4096 Apr 29 20:36 data

我以subadmin 用户身份登录,该用户属于www-data 组。我可以在以ubuntu 用户身份登录后手动删除该文件夹,但不能以subadmin 身份登录

非常感谢任何帮助。

【问题讨论】:

  • 你得到什么权限错误信息?此外,您的目录列表显示所有文件夹都在同一级别。通常为storage/framework/cache。似乎有些文件夹没有正确放置。
  • @codedge 当我尝试删除数据下的任何文件夹时,我的权限被拒绝。很抱歉这里的文件夹结构,但正如你所说的那样是正确的,即原始项目目录中的storage/framework/cache

标签: laravel directory storage file-permissions


【解决方案1】:

使当前用户拥有文件夹内的所有内容(以及文件夹本身):

sudo chown -R $USER /your/path

也许你想像我一样为 apache 文件夹做这件事

sudo chown -R $USER /var/www/

这应该会为您解决权限问题

【讨论】:

  • 谢谢。实际上我必须这样做 sudo chown -R www-data:<group> storagegroup 拥有对该文件夹具有写入权限的用户。
【解决方案2】:

为什么要删除cache/data目录?

我相信该文件夹是 laravel 默认目录的一部分

默认结构:

https://github.com/laravel/laravel/tree/master/storage/framework/cache

我认为默认情况下由以下人员使用:

https://github.com/laravel/laravel/blob/master/config/cache.php#L53

如果您想确保清除缓存命令有效,请查看数据目录的内容,

【讨论】:

  • 关于您的文件权限问题,您确定subadminwww-data 组中吗?
  • 是的 subadmin 在 www-data 组中。发出命令php artisan cache:clear 后,我还检查了数据文件夹的内容,并且缓存仍然存在。我其实是想删除cache/data目录的内容。
  • 缓存文件的权限是什么?
  • 文件删除权限根据你的目录权限,检查你要删除的dir权限,确保你在group部分的dir权限中有w,可以查看结果是否groupssubadmin 执行的命令具有www-data ?你是启用 selinux 还是 apparmor?
  • 现在已修复。我必须给 W 组许可。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2020-09-10
  • 2021-10-29
  • 2020-11-26
  • 2018-09-10
  • 2017-12-12
  • 1970-01-01
  • 2012-01-04
  • 2021-12-03
相关资源
最近更新 更多