ارائه دهنده خدمات ابری PaaS و DBaaS

laravel

برنامه‌های Laravel

(Laravel Apps)

استفاده از دیسک‌ها

فایل سیستم برنامه‌های لیارا، Read-Only است. به عبارتی، بعد از عملیات استقرار، امکان ذخیره‌سازی فایل‌های جدید در کنار فایل‌های پروژه، وجود ندارد. به همین دلیل از قابلیتی تحت عنوان دیسک‌ها در اینجا استفاده می‌کنیم تا بتوانیم اطلاعات را ذخیره کنیم.

به صورت خلاصه روند کار بدین‌صورت خواهد‌بود که ابتدا یک دیسک به اندازه دلخواه میسازید، سپس آن دایرکتوری خاصی که مد‌نظرتان است را به آن دیسک متصل می‌کنید تا اطلاعات آن همیشه محفوظ بماند. برای مثال فرض کنید قصد دارید دایرکتوری storage لاراول را به یک دیسک متصل کنید تا داده‌های آن همیشه محفوظ باقی‌بماند.

گام اول) ساخت یک دیسک جدید در منوی دیسک‌های پنل لیارا:

ساخت دیسک جدید

گام دوم) اضافه کردن بخش اتصال دیسک به دایرکتوری در فایل liara.json

{
  "platform": "laravel",
  "app": "laravel-starter",
  "disks": [
    {
      "name": "disk1",
      "mountTo": "storage"
    }
  ]
}

همانطور که در فایل بالا می‌بینید، دیسک با شناسه disk1 به دایرکتوری storage لاراول متصل شده‌است. از حالا به بعد هر فایلی داخل دایرکتوری storage قرار بگیرد در هر استقرار یا ری‌استارت پاک نخواهد شد.

همانطور که می‌بینید، بخش disks در فایل بالا یک آرایه است که یعنی شما می‌تواند دیسک‌های جدیدتری بسازید و دایرکتوری های دیگری را به آن ها متصل کنید.
{
  "disks": [
    {
      "name": "disk1",
      "mountTo": "storage"
    },
    {
      "name": "disk2",
      "mountTo": "public/uploads"
    }
  ]
}
همانطور که در فایل‌های بالا می‌بینید آدرس دهی‌ها از ریشه هر برنامه لاراولی داده شده است.

لینک‌کردن پوشه‌ی storage به پوشه‌ی public

برای دسترسی به فایل‌های پوشه‌هایstorage، طبق مستندات لاراول باید این پوشه به پوشه‌ی public لینک شود. برای این‌کار، در کامپیوتر خودتان اگر قبلا لینک را ایجاد کرده‌اید آن را حذف کرده و از دستور زیر برای ایجاد دوباره‌ی آن استفاده کنید:

php artisan storage:link --relative

این لینک به‌صورت نسبی ساخته خواهد شد و به‌این معناست که هم در کامپیوتر خودتان و هم بعد از استقرار در لیارا، عملکرد صحیحی خواهد داشت. بعد از اجرای دستور بالا، دستور دیپلوی را اجرا کنید.

متوجه شدم، برو گام بعدی!