首页 > 解决方案 > Laravel - 删除缓存文件 - 权限不足

问题描述

我正在尝试删除位于storage/framework/cache/datausing中的一些文件php artisan cache:clear。这是静默失败,因为尝试执行该操作的用户没有对这些文件的写入权限。

这些文件位于运行 Nginx 的 linux 服务器上 - 文件夹具有以下权限/所有者/组:

drwxr-xr-x www-data www-data

文件有:

-rw-r--r-- www-data www-data

我试图删除缓存文件的用户被称为deploy,并且是该www-data组的成员。我无法使用sudo,因为此命令发生在部署脚本期间。

我发现了这个拉取请求,https://github.com/laravel/framework/pull/31579,它似乎描述了我的确切问题,我还查看了https://laravel.com/docs/7.x /filesystem#the-local-driver(在权限部分下)。基于此,我尝试将以下内容添加到filesystems.php

'permissions' => [
    'file' => [
        'public' => 0775,
        'private' => 0775,
    ],
    'dir' => [
        'public' => 0775,
        'private' => 0775,
    ],
]

在 thepubliclocaldisk 部分下,查看 Laravel 是否使用这些权限创建了缓存文件,而不是上面显示的那些,但它似乎没有影响任何东西。我猜这仅适用于使用File外观存储或创建的文件,而不适用于自动生成的缓存文件?

如何设置 Laravel 创建这些文件的权限?

提前感谢您的帮助

标签: laravelunixnginx

解决方案


推荐阅读