Laravel Storage «Отказано в доступе» при удалении папки - PullRequest
0 голосов
/ 16 апреля 2019

Бизнес-логика моего приложения:

  • Я загружаю .zip архив;
  • Распакуйте его с помощью этого пакета;
  • Разбор файлов;
  • И следующим шагом будет удаление папки.

Но на последнем шаге произошла ошибка со следующим сообщением:

my error

Я пробовал chmod -R 777 для storage Laravelкаталог.Но стоит отметить, что это решает мою проблему за одну загрузку.В следующий раз у меня будет тот же каталог с той же проблемой разрешения.

Более подробно расскажу о своем коде.Я использую очереди Laravel.Код:

class RepoService
{
    public function saveRepo(UploadedFile $repoFolder): void
    {
        $originalClientFileName = $repoFolder->getClientOriginalName();
        $dirName = str_replace('.zip', '', $originalClientFileName);

        $repoFolder->storeAs('uploads', $originalClientFileName);

        // adding unpacking, saving and calculating assessment tasks
        UnpackRepoJob::withChain([
            new SaveRepoTextJob($dirName)
            // following tasks is here ... 
        ])->dispatch($dirName);
    }

    public function deleteRepoFolder(string $name): void
    {
        Storage::deleteDirectory("/uploads/$name");
    }
}

Задачи очереди распаковывают zip, анализируют файлы и так далее.У меня есть следующий пользовательский интерфейс ui

После нажатия на кнопку Delete мне нужно удалить папку из файловой системы.

Путь к каталогу выгрузки /storage/app/uploads.

Права доступа к файлам: permissions img

Как вы думаете, в чем проблема?Может мне нужно дать больше разрешений для www-data пользователя?

...