با سلام
من در پروژهی لاراول در مسیر زیر پوشهای به نام uploads دارم که تصاویرم در اونجا آپلود میشوند:
storage > app > public > uploads
روی لوکال برای اینکه بتونم در پروژه و پنل ادمینم تصاویر رو نمایش بدم از دستور زیر استفاده کردم:
php artisan storage:link
و یک شورتکات در مسیر زیر ایجاد و مشکل برطرف شد:
public > storage > uploads
اما روی هاست اشتراکی به دلیل محدودیتهای زیاد، از راهکارهای مختلفی که در فروم راکت و وبسایتهای دیگه بود استفاده کردم و جواب نگرفتم.
ممنون میشم دوستان راهکار مناسب و عملی رو ارائه بکنند تا بتونم مشکلم رو برطرف کنم و لطفاً موارد را کمی واضح بفرمایند، چون بنده در کار با لاراول تازهکار هستم.
پیشاپیش سپاسگزارم
دستور storage:link در واقع از تابع symlink در PHP استفاده میکنه که خودت هم میتونی استفاده کنی
اگر روی لوکال از storage:link استفاده کردی، مراحل زیر رو طی کن
$targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
$linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';
symlink($targetFolder,$linkFolder);
echo 'Symlink completed';
@ali.bayat
ممنون از راهنماییتون. چقدر ساده و خوب توضیح دادید. من انجام دادم. ولی نتیجه همانطور که در پیام مشخص است، محدودیت از طرف سرویس دهنده را نمایش میدهد.
Warning: symlink() has been disabled for security reasons in /home/***/public_html/mylink.php on line 4
Symlink completed
آیا راهکار دیگری وجود دارد که بتوان جایگزین کرد؟
آیا طبق تجربهی شما، سرویسدهنده معمولاً قبول میکند که این قابلیت را برای یک هاست اشتراکی فعال کند؟
با سپاس
سلام برای اینکار باید فایل تنظیمات config\filesystems.php را باز کنید و قسمت public رو بصورت زیر تغییر بدین
'public' => [
'driver' => 'local',
'root' => public_path('uploads'),
'url' => env('APP_URL').'/uploads',
'visibility' => 'public',
],
شاید این قابلیت رو فعال نکند. اما میتونی تیکت بزنی و بگی که خودشون این کار رو برات انجام بدند. البته اگر قبول کنند
با سلام
متاسفانه مشکل بنده هم همین است . هر راهی تو نت یافتم امتحان کردم به پاسخی نرسیدم .
هزینه های سرور مجازی که برای لاراولی ها خوبه خیلی زیاده سرورهای اشتراکی هم خیلی محدودیت دارن.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟