Не удалось открыть поток при загрузке файла через ajax - PullRequest
0 голосов
/ 25 мая 2019

У меня есть приложение 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);

1 Ответ

0 голосов
/ 25 мая 2019

Okk, после проверки разрешений на загрузку папок внутри public они были: rwx rx --x, я сделал chmod 770 для загрузок, и теперь все работает, что вы думаете, ребята, надеюсь, я не делал ничего рискованного.

Я хочу показать вам, ребята, команды, которые я сейчас использую для настройки perms, чтобы вы могли дать мне свои мысли:

cd /var/www/luisaldada.com
sudo chown GabotronES:ww-data /var/www/luisaldada.com
&&
find /var/www/luisaldada.com -type d -exec chmod 755 {} \;
&&
find /var/www/luisaldada.com -type f -exec chmod 644 {} \;
&&
chmod 770 /var/www/luisaldada.com/public/uploads
&&
setfacl -Rdm u:www-data:rwx,u:GabotronES:rwx storage bootstrap/cache
&&
setfacl -Rm u:www-data:rwx,u:GabotronES:rwx storage bootstrap/cache
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...