انتشار پروژه ی لاراولی روی هاست های اشتراکی
انتشار پروژه ی لاراولی روی هاست های اشتراکی
در ابتدای این مقاله باید توجه کنید که فریمورک لاراول بعنوان محبوب ترین فریمورک زبان برنامه نویسی PHP برای اجرای صحیح و درست بصورت زنده نیاز به دسترسی 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 دارید که این مورد در هاست های اشتراکی به شما داده نمیشود پس برای استفاده از مایگریشن ها به مشکل میخورید و برای این هم یک راه حل دیگری داریم مقاله را ادامه دهید .
ما در نظر میگیریم که شما برنامه نویسی پروژه ی خود با لاراول را تمام کرده اید و آماده آپلود آن روی هاست اشتراکی هستید .
ما این آموزش را برای پروژه ای از لاراول که با نسخه ی ۵,۱ لاراول نوشته شده بود انجام دادیم و درست کار کرد و شما میتوانید برای نسخه های بالاتر هم تست کنید و در صورت اینکه کار کرد در کامنت ها اعلام کنید .
خب فرض کنیم نام پروژه ی ما laravel۵۰ است و ساختار آن طبق تصویر زیر است :
نکته : به هیچ چیز دست نزنید حتی فایل htaccess و به همان صورت که هست بگذارید بماند .
- تمام فایل ها و فولدرهای درون پروژه خود را زیپ کنید و نام آنرا مثلا laravel50.zip بگذارید
- سی پنل مربوط به هاست اشتراکی که میخواهید پروژه ی خود را به آن منتقل کنید باز کنید تصویر زیر را ببینید :
- روی File Manager کلیک کنید
- روی Upload کلیک کنید
- فایل laravel50.zip که در مرحله ی 1 درست کردیم را آپلود کنید . توجه کنید که محل آپلود باید روت اصلی هاست شما باشد نه درون دایرکتوری public_html
- فایل زیپ laravel50.zip را اکسترکت کنید و در نهایت سی پنل شما باید مشابه تصویر زیر باشد :
- پوشه ی laravel50 را باز کنید و محتویات درون پوشه ی public را به مسیر public_html هاست اشتراکی خود در سی پنل منتقل کنید بعد از انتقال محتویات شما میتوانید پوشه ی public خالی را حذف کنید .
- به مسیر public_html در سی پنل بروید و فایل index.php را پیدا کنید و روی آن راست کلیک کنید سپس Code Edit را انتخاب کنید .
- یک پنجره ی جدید ادیت کد یا Code editor سی پنل برای شما باز میشود
- تغییرات زیر را در فایل انجام دهید و دو خط اول را به دو خط بعدی تغییر دهید البته این دو خط ممکن است در لاین شماره ی 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';`
- لطفا به محتویات درون 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>`
- اگر همه مراحل بالا را درست رفته باشید و به آدرس دامنه ی خود مثلا domain.com بروید با خطای پایگاه داده مواجه خواهید شد (البته اگر مدل در پروژه ی خود دارید و از دیتابیس استفاده میکنید) . نگران نباشید ! در ادامه نحوه ی ساختن پایگاه داده در هاست اشتراکی هم به شما آموزش داده خواهد شد .
- Migrate کردن جداول پایگاه داده لاراول در هاست اشتراکی :
یکی از مزایای لاراول استفاده از سیستم مایگریشن هاست که به شما اجازه میدهد به سادگی جدول های دیتابیس را ایجاد و مدیریت کنید به سادگی یک خط کد میتوانید جداول را بسازید : php artisan migrate
از آنجایی که ما روی هاست اشتراکی هستیم و دسترسی هم به SSH نداریم خب تصور کنیم حداکثر ده جدول داریم این کار به سادگی قابل انجام است .
- ساختن دیتابیس در هاست اشتراکی
- در سی پنل شما یک ابزاری به نام PHPMyAdmin نصب شده است و در اکثر سی پنل ها ابزار Mysql Database Wizard وجود دارد . برای ساخت پایگاه داده و همچنین کاربران پایگاه داده از Mysql Database wizard میتوانید استفاده کنید . پس یک پایگاه داده و یک کاربر بسازید و به همدیگر متصل کنید و مجوز های لازم را به آنها بدهید ( درباره ی نحوه ی ساختن پایگاه داده با mysql database wizard سرچ کنید ). توجه کنید که نام کاربری پایگاه داده و رمز آنرا نگهدارید چون به زودی به انها نیاز دارید .
- از PHPMyAdmin استفاده کنید تا جدول های خودتان را بسازید . برای عملکرد بهتر PHPMyAdmin روی ماشین لوکال خود را باز کنید و طبق آن پیش بروید و دقیقا ساختاری که در پایگاه داده موجود در ماشین لوکال ساخته شده است را در سی پنل بسازید .
- البته یک راه دیگر هم است . میتوانید پایگاه داده را از لوکال export بگیرید و در هاست اشتراکی import کنید . برای این کار رو ماشین لوکال خود وارد PHPMyAdmin شوید و یک خروجی از بخش Export بگیرید .
بعد از اینکه export را انجام دادید یک فایل دیتابیس به شما تحویل داده میشود . خب وقت آن است که آنرا در هاست اشتراکی خودمان import کنیم .
اگر با موفقیت عمل ایمپورت انجام بگیرد پیام موفقیت آمیز بودن نمایش داده میشود .
در سی پتل هاست اشتراکی خود به فولدر laravel۵۰ بروید و یا هر مسیری که برای پروژه ی خود در هاست اشتراکی استفاده کردید و سپس به مسیر config/database.php بروید . روی این فایل راست کلیک کنید و Code Edit را انتخاب کنید . و در خط ۵۵ شما تنظیمات دیتابیس MySQL را مشاهده میکنید .
نام کاربری و پسورد MySQL را به نام کاربری و پسوردی که موقع ساختن دیتابیس تعریف کردید تغییر دهید .
خب پایگاه داده هم ساخته شد و اگر تمام مراحل را درست رفته باشید لاراول شما با موفقیت به هاست اشتراکی منتقل شد و باید الان سایت را ببینید .
تمام
مطالب زیر ممکن است برای شما مفید باشد
بررسی اپلیکیشن دیجی کالا - کشف زبان برنامه نویسی این اپلیکیشن آموزش متغیرها در کاتلین ، انواع آنها و تبدیل متغیرها آموزش ساخت اسلایدر تصاویر اپ اندرویدی با زبان Kotlin kotlin یا جاوا ؟ برای برنامه نویسان اندروید مسئله این است ! این ۸ چیر رو باید همه برنامه نویسا بدونن !
محصولات برگزیده مناسب شما
دوره ی طلایی لاراول 6 دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین دوره ی آموزش پروژه محور ساخت دیجیکالا به همراه اپ و سورس کامل دوره ی آموزش پروژه محور ساخت آپارات با اپلیکیشن موبایل و سورس کد آماده
پایان 👍