Ссылка на хранилище Laravel в виртуальном хостинге - PullRequest
1 голос
/ 19 июня 2019

У меня проблемы с настройкой ссылки на хранилище на виртуальном хостинге. Из-за этого я не могу загрузить любое изображение в папку хранилища на виртуальном хостинге

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Использование Laravel в среде виртуального хостинга, вероятно, не лучшее решение. Некоторые хорошие варианты теперь доступны по той же цене, и вам просто нужно приложить немного усилий, чтобы понять, как с ними работать, даже если у вас нет предыдущего опыта. Вы можете использовать DigitalOcean , Линод , Вультр или многие другие, и это сэкономит вам массу времени.

Если вы по какой-то причине все еще хотите использовать виртуальный хостинг и на самом деле ответить на свой вопрос, вы можете

  • Исследуйте, чтобы установить правильную символическую ссылку (эта возможность в настоящее время существует почти везде), это должно быть что-то вроде ln -s /home/user/laravel/storage/app/public /home/user/public_html/storage. Конечно, по вашему пути, который может отличаться в зависимости от структуры вашего хостинга, вы сможете сами это выяснить.
  • Попробуйте реализовать каким-нибудь обходным путем. Например, вы можете попытаться поместить файлы из папки storage в storage/app/public вручную (вы даже можете позже автоматизировать это с помощью некоторого сценария). Но обходные пути - новые обходные пути, лучше не делать это жестко и неправильно, а вместо этого использовать простые и правильные, даже если вам это кажется на первый взгляд трудным.
0 голосов
/ 19 июня 2019

Вместо использования фасада хранилища вы можете использовать пользовательский метод для загрузки файла в общедоступный каталог

if($request->has('image')){
        $img = $request->file('image');
        $ext = $img->getClientOriginalExtension();
        $name = time().'.'.$ext;
        $path = public_path('\img\uploads');
        $img->move($path, $name);
        User::where('id', $user->id)->update([
            'image' => $name
        ]);
    }
...