جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • مقالات
  • دوره‌ها
  • رویدادها
  • تماس با ما
DevTalks Group
ورود
گذرواژه خود را فراموش کرده اید؟
DevTalks Group
  • صفحه اصلی
  • مقالات
  • دوره‌ها
  • رویدادها
  • تماس با ما
عضویت / ورود
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

DevTalks Group > آرشیو مقالات > آموزشی > راه اندازی پروژه لاراول روی هاست اشتراکی

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

مرداد 7, 1403
ارسال شده توسط سید محمد نقاش حسینی
آموزشی

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

هر نسخه از لاراول برای اجرا به حداقل نسخه ای از PHP­­­­­ و همچنین­ extention های Tokenizer ، ­ Mbstring­ ، PDO ، OpenSSL­ و XML­ نیاز دارد پس در هنگام خرید هاست به این موارد­ دقت کنید .

به پنل مدیریتی هاست خود رفته و سپس File Manager هاست خود را باز کنید ؛ اگر شما در حال مشاهده Root هاست خود باشید پس باید پوشه ها و فایل هایی همانند زیر در آن ببینید :

/.php
/backups
/domains
/imap
/Maildir
/public_html
.bash_logout
.bash_profile
.
.
.

توجه : ممکن است ساختار پوشه بندی هاست شما کمی متفاوت باشد .

درصورتی که از طریق FTP به هاست خود متصل شده اید ، به Root هاست خود رفته و گام به گام همه مراحل را طی کنید .

حال یک پوشه با نام دلخواه به طور مثال LaravelApp در مسیر domain/YourDomain.ir/. همانند زیر بسازید:

/.php
/backups
/domains
        /YourDomain.ir
                      /.htpasswd
                      /logs
                      /private_html
                      /public_html
                      /stats
                      /LaravelApp
/imap

.
.
.

حال در پوشه LaravelApp که تازه آن را ایجاد کرده اید پروژه لاراول خود را به طور کامل آپلود کنید :





/.php
/backups
/domains
        /YourDomain.ir
                      /.htpasswd
                      /logs
                      /private_html
                      /public_html
                      /stats
                      /LaravelApp
                                 /app
                                 /bootstrap
                                 /config
                                 /database
                                 .
                                 .
                                 .
/imap
.
.
.

بعد از آپلود پروژه ، باید تمام محتویات پوشه public پروژه خود را به پوشه public_html هاست انتقال دهید :

/.php
/backups
/domains
        /YourDomain.ir
                      /.htpasswd
                      /logs
                      /private_html
                      /public_html
                                  /css
                                  /js
                                  .htaccess
                                  index.php
                                  .
                                  .
                                  .

                      /stats
                      /LaravelApp
                                 /app
                                 /bootstrap
                                 /config
                                 /database
                                 .
                                 .
                                 .
/imap
.
.
.

بعد از انجام این مراحل ما باید آدرس های موجود در فایل index.php را با توجه به ساختار و پوشه بندی جدید تغییر دهیم ؛ برای اینکار به پوشه public_html هاست خود رفته و فایل index.php را باز کنید و سپس دو خط زیر را در آن بیابید :

require __DIR__.'/../bootstrap/autoload.php';

$app = require_once __DIR__.'/../bootstrap/app.php';

حال این آدرس ها را با توجه به نام پوشه ای که ایجاد کردید یعنی LaravelApp به صورت زیر تغییر دهید :





require __DIR__.'/../LaravelApp/bootstrap/autoload.php';

$app = require_once __DIR__.'/../LaravelApp/bootstrap/app.php';

حال باید پروژه لاراولی شما بدون خطا و به درستی اجرا شود .
توجه : اکثر هاست های اشتراکی اجازه ی استفاده از فایل env. را به شما نمیدهند و با وجود بودن آن هم شاهد اجرای آن نخواهید بود و پروژه لاراولی شما اجرا نخواهد شد و به مشکل برخواهید خورد .
برای حل عدم اجازه استفاده از فایل env. در هاست های اشتراکی میتوانید به راحتی تمام مقادیر درون این فایل را مستقیما در فایل های config پروژه خود وارد کنید .

فایل های مربوط به config­­ پروژه خود را میتوانید در مسیر domain/YourDomain.ir/LaravelApp/config/. در هاست خود بیابید .

به طور مثال برای وارد کردن تنظیمات مربوط به دیتابیس پروژه خود کافی است به پوشه config پروژه خود که در بالا آدرس آن گفته شد مراجعه کنید و فایل database.php باز کنید :

<?phpreturn [

    'default' => env('DB_CONNECTION', 'mysql'),

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
        ],

    ],

    'migrations' => 'migrations',

    'redis' => [

        'client' => 'predis',

        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],

    ],

];

حال با توجه به نوع دیتابیسی که استفاده میکنید اطلاعات مربوط به آن را به صورت دستی وارد کنید ؛ یعنی به طور مثال اگر از دیتابیس mysql استفاده میکنید باید فایل فوق را همانند زیر با توجه به اطلاعات دیتابیس خود تغییر دهید :

<?phpreturn [

    'default' => 'mysql',

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => 'Database_Address',
            'port' => '3306',
            'database' => 'Database_Name',
            'username' => 'Database_UserName',
            'password' => 'Database_Password',
            'unix_socket' => '',
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
        ],

    ],

    'migrations' => 'migrations',

    'redis' => [

        'client' => 'predis',

        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],

    ],

];

توجه : باید به جای مقادیر Database_Address و Database_Name و Database_UserName و Database_Password اطلاعات مربوط به دیتابیس mysql خود را وارد کنید .
حال همانند فوق تمامی مقادیر درون فایل env. پروژه خود را درون فایل مربوط به خود در پوشه config پروژه وارد نمایید ؛ بعد از اتمام اینکار درصورت انجام درست تمامی مراحل فوق باید پروژه لاراولی شما بدون هیچ مشکلی اجرا شود .

اگر با مشکل ذخیره فایل و یا session ها مواجه شدید مسیر های زیر را در فایل

bootstrap/config/cache.php

اصلاح کنید :
Project Path :

/domains/domain_name.com/{project_name} 

Storage Path:





array (
    'default' => 'local',
    'cloud' => 's3',
    'disks' => 
    array (
      'local' => 
      array (
        'driver' => 'local',
        'root' => './../../public_html/api',
        'visibility' => 'public',
      ),
      'public' => 
      array (
        'driver' => 'local',
        'root' => '/../../{project_name}/storage/app/public',
        'visibility' => 'public',
      ),
      's3' => 
      array (
        'driver' => 's3',
        'key' => 'your-key',
        'secret' => 'your-secret',
        'region' => 'your-region',
        'bucket' => 'your-bucket',
      ),
    ),
  ),
برچسب ها: Laravelphp
قبلی آموزش Webpack در ۱۵ دقیقه

دیدگاهتان را بنویسید لغو پاسخ

برای نوشتن دیدگاه باید وارد بشوید.

تازه‌ترین مقالات

  • راه اندازی پروژه لاراول روی هاست اشتراکی
  • آموزش Webpack در ۱۵ دقیقه

آخرین دیدگاه‌ها

دیدگاهی برای نمایش وجود ندارد.

دسته‌بندی‌ها

  • آموزشی

جامعه توسعه دهندگان DevTalks جهت ایجاد موج در صنعت و تکنولوژی ایجاد و توسعه می‌یابد.

  • کرمان، پارک نشاط،‌ ساختمان البرز
  • 09130424767

دسترسی سریع

  • جدید ترین دوره‌ها
  • چشم انداز
  • به ما بپیوندید
  • منشور اخلافی
  • لیست قیمت ها

کاوش

  • درباره ما
  • رویدادهای آتی
  • وبلاگ و اخبار
  • سوالات متداول
  • تماس با ما

خبرنامه

قبل از دیگران، بروزترین دوره ها را در ایمیل خود دریافت کنید و از اخبار ما مطلع شوید.

© ۱۴۰۳. تمامی حقوق برای جامعه توسعه‌دهندگان DevTalks محفوظ است.
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://devtalks.group/?p=10987
مرورگر شما از HTML5 پشتیبانی نمی کند.

جامعه توسعه دهندگان DevTalks جهت ایجاد موج در صنعت و تکنولوژی ایجاد و توسعه می‌یابد.

  • کرمان، پارک نشاط،‌ ساختمان البرز
  • 09130424767

دسترسی سریع

  • جدید ترین دوره‌ها
  • چشم انداز
  • به ما بپیوندید
  • منشور اخلافی
  • لیست قیمت ها

کاوش

  • درباره ما
  • رویدادهای آتی
  • وبلاگ و اخبار
  • سوالات متداول
  • تماس با ما

خبرنامه

قبل از دیگران، بروزترین دوره ها را در ایمیل خود دریافت کنید و از اخبار ما مطلع شوید.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

جامعه توسعه‌دهندگان

  • 09130424767
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • devtalks.group@gmail.com