У меня есть приложение laravel в производстве DigitalOcean VPS с Ubuntu и LEMP, веб работает отлично, но кажется, что я не могу загружать файлы из своего Интернета, когда я пытаюсь загрузить изображение через ajax, я получаю следующую ошибку (только в производственной, local работает правильно):
message fopen(/var/www/luisaldada.com/public/uploads/file-25-05-2019-21-39-MAL-421.jpeg): failed to open stream: Permission denied
exception ErrorException
file /var/www/luisaldada.com/vendor/league/flysystem/src/Adapter/Local.php
line 158
Это выглядит как очевидная ошибка разрешения, но я уже дал рекурсивную запись в папку хранения laravel, я использую публичный / локальный диск laravel для загрузки файлов в папку загрузкивнутри общедоступного.
файл конфигурации файловых систем:
'public' => [
'driver' => 'local',
'root' => public_path(),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
Возможно, это как-то связано с общедоступной папкой, не имеющей правильных разрешений на загрузку / запись?
Это мои разрешениядля папки laravel, как вы можете видеть, я зашел так далеко, что установил ACL для папки хранения.
https://i.imgur.com/LLYIECc.png
Так я загружаю файл в контроллер на всякий случай:
$file = $request->file($name);
$filename = 'file-'.Carbon::now()->format('d-m-Y-H-i').'-'.str_random(3).'-'.mt_rand('000','999').'.'.$file->extension();
$file->storeAs('uploads', $filename);