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

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

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
]);
}

<?php $targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public'; $linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage'; symlink($targetFolder,$linkFolder); echo 'Symlink process successfully completed'; ?>

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
папку (вы даже можете автоматизировать его с помощью некоторого скрипта). Но обходные пути продукт новый обходные пути, лучше не делать это трудно и неправильно, а вместо этого использовать простой и правильный, даже если это кажется трудным для вас на первый взгляд.

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...