انتشار پروژه ی لاراولی روی هاست های اشتراکی 

در ابتدای این مقاله باید توجه کنید که فریمورک لاراول بعنوان محبوب ترین فریمورک زبان برنامه نویسی پی اچ پی برای اجرای صحیح و درست بصورت زنده نیاز به دسترسی SSH دارد که روی سرور یا سرور مجاری مقدور است و معمولا این امکان توسط هاست های اشتراکی به شما داده نمیشود. اگر میخواهید بدون دردسر از لاراول استفاده کنید سرور مجازی یا سرور واقعی تهیه کنید اما بعضی اوقات شما هاست اشتراکی دارید و ناچارا باید روی آن لاراول را اجرا کنید.

ابتدا نیازمندی های فریمورک لاراول برای سرور را ببیینیم : 

 

  •  PHP 7.0.0 or Above و از لاراول نسخه ی 6.0 به بعد حداقل نسخه ی پی اچ پی  PHP 7.2  است 
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

برای اجرای کدهای php artisan شما نیاز به دسترسی SSH دارید که این مورد در هاست های اشتراکی به شما داده نمیشود پس برای استفاده از مایگریشن ها به مشکل میخورید و برای این هم یک راه حل دیگری داریم مقاله را ادامه دهید . 

 

ما در نظر میگیریم که شما برنامه نویسی پروژه ای با لاراول را تمام کرده اید و آماده آپلود آن روی هاست اشتراکی هستید . 

ما این آموزش را برای پروژه ای از لاراول که با نسخه ی ۵.۱  لاراول نوشته شده بود انجام دادیم و درست کار کرد و شما میتوانید برای نسخه های بالاتر هم تست کنید و در صورت اینکه کار کرد در کامنت ها اعلام کنید . 

خب فرض کنیم نام پروژه ی ما laravel50 است و ساختار آن طبق تصویر زیر است :‌

 

آموزش آپلود لاراول روی هاست اشتراکی

 

نکته : به هیچ چیز دست نزنید حتی فایل htaccess و به همان صورت که هست بگذارید بماند . 

  1. تمام فایل ها و فولدرهای درون پروژه خود را زیپ کنید و نام آنرا مثلا laravel50.zip بگذارید 
  2. سی پنل مربوط به هاست اشتراکی که میخواهید پروژه ی خود را به آن منتقل کنید باز کنید  تصویر زیر را ببینید :‌

    آپلود پروژه ی لاراول روی هاست اشتراکی - سی پنل


  3. روی File Manager کلیک کنید 
  4. روی Upload کلیک کنید 
  5. فایل laravel50.zip که در مرحله ی 1 درست کردیم را آپلود کنید . توجه کنید که محل آپلود باید روت اصلی هاست شما باشد نه درون دایرکتوری public_html
  6. فایل زیپ laravel50.zip را اکسترکت کنید و در نهایت سی پنل شما باید مشابه تصویر زیر باشد ‌:‌


    آموزش آپلود پروژه ی لاراول روی هاست سی پنل
  7. پوشه ی laravel50 را باز کنید و محتویات درون پوشه ی public را به مسیر public_html هاست اشتراکی خود در سی پنل منتقل کنید بعد از انتقال محتویات شما میتوانید پوشه ی public خالی را حذف کنید .
  8. به مسیر public_html در سی پنل بروید و فایل index.php را پیدا کنید و روی آن راست کلیک کنید سپس Code Edit را انتخاب کنید . 
  9. یک پنجره ی جدید ادیت کد یا Code editor سی پنل برای شما باز میشود 
  10. تغییرات زیر را در فایل انجام دهید و دو خط اول را به دو خط بعدی تغییر دهید البته این دو خط ممکن است در لاین شماره ی 22 و 36 شما باشد : 
    این دو خط را پیدا کنید : 
    
    `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';`​
     

 

  1. لطفا به محتویات درون htaccess دست نزنید ( البته مگر در موقعی که میدانید چیکار میکنید :) )
    محتویات درون فایل htaccess باید مشابه زیر باشد :‌
       `<IfModule mod_rewrite.c>
                      <IfModule mod_negotiation.c>
                      Options -MultiViews
                      </IfModule>
    
                      RewriteEngine On
    
                    # Redirect Trailing Slashes…
                      RewriteRule ^(.*)/$ /$1 [L,R=301]
    
                    # Handle Front Controller…
                      RewriteCond %{REQUEST_FILENAME} !-d
                      RewriteCond %{REQUEST_FILENAME} !-f
                      RewriteRule ^ index.php [L]
                      </IfModule>`​

     

  2. اگر همه مراحل بالا را درست رفته باشید و به آدرس دامنه ی خود مثلا domain.com بروید با خطای پایگاه داده مواجه خواهید شد (البته اگر مدل در پروژه ی خود دارید و از دیتابیس استفاده میکنید) . نگران نباشید ! در ادامه نحوه ی ساختن پایگاه داده در هاست اشتراکی هم به شما آموزش داده خواهد شد . 

Migrate کردن جداول پایگاه داده لاراول در هاست اشتراکی

یکی از مزایای لاراول استفاده از سیستم مایگریشن هاست که به شما اجازه میدهد به سادگی جدول های دیتابیس را ایجاد و مدیریت کنید به سادگی یک خط کد میتوانید جداول را بسازید :‌ php artisan migrate
از آنجایی که ما روی هاست اشتراکی هستیم و دسترسی هم به SSH نداریم خب تصور کنیم حداکثر ده جدول داریم این کار به سادگی قابل انجام است . 

 

ساختن دیتابیس لاراول در هاست اشتراکی 

  1. در سی پنل شما یک ابزاری به نام PHPMyAdmin نصب شده است و در اکثر سی پنل ها ابزار Mysql Database Wizard وجود دارد . برای ساخت پایگاه داده و همچنین کاربران پایگاه داده از Mysql Database wizard میتوانید استفاده کنید . پس یک پایگاه داده و یک کاربر بسازید و به همدیگر متصل کنید و مجوز های لازم را به آنها بدهید ( درباره ی نحوه ی ساختن پایگاه داده با mysql database wizard سرچ کنید ). توجه کنید که نام کاربری پایگاه داده و رمز آنرا نگهدارید چون به زودی به انها نیاز دارید . 

  2. از PHPMyAdmin استفاده کنید تا جدول های خودتان را بسازید . برای عملکرد بهتر PHPMyAdmin روی ماشین لوکال خود را باز کنید و طبق آن پیش بروید و دقیقا ساختاری که در پایگاه داده موجود در ماشین لوکال ساخته شده است را در سی پنل بسازید . 

    آموزش نصب لاراول روی هاست اشتراکی

  3. البته یک راه دیگر هم است . میتوانید پایگاه داده را از لوکال export بگیرید و در هاست اشتراکی import کنید . برای این کار رو ماشین لوکال خود وارد PHPMyAdmin شوید و یک خروجی از بخش Export بگیرید. 


    آموزش نصب لاراول روی هاست اشتراکی

    بعد از اینکه export را انجام دادید یک فایل دیتابیس به شما تحویل داده میشود . خب وقت آن است که آنرا در هاست اشتراکی خودمان import کنیم . 

    آموزش نصب لاراول روی هاست اشتراکی

اگر با موفقیت عمل ایمپورت انجام بگیرد پیام موفقیت آمیز بودن نمایش داده میشود . 

 

در سی پتل هاست اشتراکی خود به فولدر laravel50 بروید و یا هر مسیری که برای پروژه ی خود در هاست اشتراکی استفاده کردید و سپس به مسیر config/database.php بروید . روی این فایل راست کلیک کنید و Code Edit را انتخاب کنید . و در خط 55 شما تنظیمات دیتابیس MySQL  را مشاهده میکنید .

نام کاربری و پسورد MySQL را به نام کاربری و پسوردی که موقع ساختن دیتابیس تعریف کردید تغییر دهید . 

خب پایگاه داده هم ساخته شد و اگر تمام مراحل را درست رفته باشید لاراول شما با موفقیت به هاست اشتراکی منتقل شد و باید الان سایت را ببینید.

لینک کوتاه این مقاله : https://avasam.ir/post/127
این سیستم برپایه ی علاقه مندی شما یک دوره ی مناسب به شما پیشنهاد میدهد
مرا بسوی بهترین دوره ی آموزشی که برای من مناسب است هدایت کن 🤖
برای استفاده ی دیگران و حمایت از ما در جامعه های زیر به اشتراک بگذارید

.:: نظرهای کاربران ::.
hostbarancom / 1 سال پیش

بسیار عالی بود

حسین / 3 سال پیش

مگه چه چیزایی از لاراول اجرا نمیشه توی هاستهای اشتراکی؟ مثلا توی پروژه ی نهایی که از localhost ساختیم بعضی کدهای اسکریپت کار نمیکنه تو هاست های اشتراکی؟

من دوست دارم لاراول رو یاد بگیرم ولی بخاطر اینکه اکثر خریدارهای اسکریپت هاست دارن یا از سرور مجازی(گرونی یا اینکه خوششون نمیاد) استفاده نمیکنن مجبورم با فریمورکی کار کنم که تمام و کمال رو هاست اشتراکی کار کنه

دوره ی آموزش پروژه محور ساخت کافه بازار دوره ی آموزش پروژه محور ساخت فروشگاه دیجیکالا آموزش لاراول دوره ی آموزش ویو جی اس