Laravel storage link в общем хостинге

Laravel storage link в общем хостинге

19.06.2019 09:45:51 Просмотров 33 Источник

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

У вопроса есть решение - Посмотреть?

Ответы - Laravel storage link в общем хостинге / Laravel storage link in shared hosting

Aditya Thakur

19.06.2019 10:00:28

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

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
        ]);
    }
https://stackoverflow.com/questions/56661584/laravel-storage-link-in-shared-hosting/56661791#comment104125965_56661791
-Вы можете решить ее другим способом, создав symlinkexample.php файл в вашу общую папку и запустите путь к файлу в браузере. - Затем папка хранения будет создана в общую папку. Путь к папке будет public / storage с привязкой к вашей общей папке. ---------------------------------------------------------------------------- Пример <?php $targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public'; $linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage'; symlink($targetFolder,$linkFolder); echo 'Symlink process successfully completed'; ?>
Volodymyr I.

19.06.2019 10:03:53

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

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

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

27.01.2020 05:07:56

1) Remove storage folder in public_html/public/storage if you perfomed storage:link in local

2) then Create a php file for example mysymlink.php in public_html folder

3) Add below codes to mysymlink.php file

$targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
$linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';
symlink($targetFolder,$linkFolder);
echo 'Symlink completed';
4) Go to web site example.com/mysymlink.php

That is all...
Закрыть X