در این مطلب روش بارگذاری برنامه ها و وب سایت های لاراول روی هاست های اشتراکی را بررسی می کنیم همچنین با توجه به اینکه نیاز به مایگریت کردن برای ساخت دیتابیس داریم با استفاده از ترفندی ساده این کار را نیز انجام خواهیم داد و با ترفند کاربردی دیگری دستورهای مورد نظر خود(مثل تولید symlink) را اجرا خواهیم کرد.
مرحله اول:
کل دایرکتوری لاراول خود را به صورت یک فایل فشرده در آورید و در روت هاست خود (در کنار پوشه ی public_html) بارگزاری نمایید و فایل بارگزاری شده را از حالت فشرده خارج کنید.
در تصویر زیر نام دایرکتوری laravel50 بوده که بر روی سی پنل باگزاری شده است. نکته ای که باید دقت کنیم این است که کدهای فریم ورک در داخل پوشه public_html که به صورت عمومی در دسترس است نباشد.
مرحله دوم:
کلیه ی فایل های داخل دایرکتوری public را که در دایرکتوری فریم ورک قرار دارد به دایرکتوری public_html هاست انتقال داده و فایل index.php را ویرایش می کنیم در این ویرایش باید دو خط از کدها که به مسیر فریم ورک اشاره دارند ویرایش شوند و آدرس دایرکتوری فریم ورک اصلاح شود.
`require __DIR__.'/../bootstrap/autoload.php';
...
$app = require_once __DIR__.'/../bootstrap/app.php';`
به
`require __DIR__.'/../laravel50/bootstrap/autoload.php';
...
$app = require_once __DIR__.'/../laravel50/bootstrap/app.php';`
مرحله سوم:
در این مرحله فایل env. لاراول را در هاست ویرایش کرده و آدرس سایت و تنظیمات جدید برای اتصال به دیتابیس را تنظیم می کنیم.
مرحله چهارم:
به منظور انتقال دیتابیس لوکال به دیتابیس آنلاین می توانید دیتابیس آنلاین را ایجاد کرده و از طریق phpmyadmin از دیتابیس لوکال خروجی گرفته و در دیتابیس آنلاین وارد نمایید.
در پروژه های لاراولی معمولا اجرا دستورات مختلف نیاز می شود که در صورت آشنایی با کرون جاب ها که معمولا روی هاست های اشتراکی قابل تعریف هستند این دستورات را اجرا نمایید به عنوان مثال در صورتی که برای ذخیره فایل های لاراول از storage استفاده کنیم نیاز هست که یک symlink برای دایرکتوری public ایجاد کنیم که فایل هایی که در مسیر storage/app/public بارگزاری می شوند در public_html و در دسترس عموم قرار داده شود:
در صورتی که به ssh دسترسی داشته باشیم با دستور زیر symlink ایجاد می شود:
ln -s /path/to/target /path/to/shortcut
برا اجرای این دستور می توان یک کرون جاب تعریف کرد و بعد از ایجاد symlink کرون جاب را حذف نمود:
البته symlink را می توان با استفاده از ایجاد یک فایل php و اجرای آن بر روی هاست اشتراکی نیز ایجاد کرد:
<?php
$target = '/home/cPanelusername/laravel50/app/public';
$shortcut = '/home/cPanelusername/public_html';
symlink($target, $shortcut);
?>
لازم به توضیح است که از این روش برای فریم ورک های مشابه نیز می توان استفاده کرد.
نظرات خود را با ما به اشتراک بگذارید...