it-swarm.asia

تحميل Laravel المشروع في خادم الويب

أحاول تحميل مشروع Laravel على خادم الويب الخاص بي ، لكن محاولتي السابقة لم تنجح. أعتقد أنني لا أحمل الملفات إلى الموقع الصحيح.

هذا هو هيكل خادم الويب الخاص بي -> WebServer Structure

هل أنا على صواب لأقول أنني بحاجة إلى تحميل جميع ملفات laravel الخاصة بي إلى public_html؟

هذا هو دليل مشروعيLaravel:

Laravel Project Directory

تحرير: لقد أضفت الآن جميع الملفات إلى المجلد الجذر ، وعامة في public_html ، ولكن يبدو أن أي من طرقي لا تعمل. (انهم يعملون تماما على مضيف محلي). كل شيء يلقي 404

52
Sainath Krishnan

لا ، لكن لديك خياران:

أسهل الطرق هي تحميل جميع الملفات التي لديك في هذا الدليل الذي تستخدمه (مثل الدليل الرئيسي لمستخدم cPanel) ، ووضع محتويات الجمهور في public_html. وبهذه الطريقة ستكون بنية الدليل الخاص بك مثل هذا (فوضوي قليلاً لكنه يعمل):

/
    .composer/
    .cpanel/
    ...
    app/                 <- your laravel app directory
    etc/
    bootstrap/           <- your laravel bootstrap directory
    mail/
    public_html/         <- your laravel public directory
    vendor/
    artisan              <- your project's root files

قد تحتاج أيضًا إلى تعديل bootstrap/paths.php للإشارة إلى الدليل العام الصحيح.

الحل الآخر ، إذا كنت لا ترغب في وجود كل هذه الملفات في دليل "الجذر" هذا هو وضعها في الدليل الخاص بها (ربما "laravel") الذي لا يزال في الدليل الجذر ، ثم قم بتحرير المسارات لتعمل بشكل صحيح. ستظل بحاجة إلى وضع محتويات public في public_html ، ومع ذلك ، وهذه المرة قم بتحرير public_html/index.php الخاص بك لتمهيد التطبيق بشكل صحيح. ستكون بنية المجلد أكثر مرتبة بهذه الطريقة (على الرغم من أنه قد يكون هناك بعض الصداع مع المسارات بسبب العبث بهيكل إطار العمل المصمم أكثر):

/
    .composer/
    .cpanel/
    ...
    etc/
    laravel/      <- a directory containing all your project files except public
        app/
        bootstrap/
        vendor/
        artisan
    mail/
    public_html/  <- your laravel public directory
43
alexrussell

أعتقد أن ملفاتك/مجلداتكLaravel يجب ألا توضع في دليل الجذر.

مثلا إذا تمت الإشارة إلى المجال الخاص بك إلى دليل public_html ، فيجب وضع كل المحتوى في هذا الدليل. ماذا ؟ دعني أخبرك

  1. انسخ جميع الملفات والمجلدات (بما في ذلك المجلد العمومي) بتنسيق HTML العام
  2. انسخ كل محتوى المجلد العمومي والصقه في جذر المستند (أي public_html)
  3. إزالة المجلد العمومي
  4. افتح bootstrap/paths.php الخاص بك ، ثم غير 'public' => __DIR__.'/../public', إلى 'public' => __DIR__.'/..',

  5. وأخيرا في index.php ،

    يتغيرون

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

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

إلى

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

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

يجب أن يعمل Laravel التطبيق الخاص بك الآن.

8
Raj Sf

إذا كنت تحاول استضافة تطبيق Laravel على استضافة مشتركة ، فقد يساعدك ذلك.

Hosting Laravel على الاستضافة المشتركة # 1

استضافة Laravel على استضافة مشتركة # 2

إذا كنت تريد PHP 5.4 ، فأضف هذا السطر إلى ملف .htaccess أو اتصل بمزود الاستضافة.

AddType application/x-httpd-php54 .php

5
Abhinandan N.M.

يجب أن تكون جميع ملفاتكLaravel في مكان واحد. Laravel يعرض ملفه public folder إلى الخادم. يمثل هذا المجلد نوعًا من وحدة التحكم الأمامية للتطبيق بالكامل. وفقًا لتكوين الخادم الخاص بك ، يجب عليك توجيه مسار الخادم الخاص بك إلى هذا المجلد. كما أستطيع أن أرى أن هناك www site على صورتك. www هو الدليل الجذر الافتراضي على أجهزة Unix/Linux. من الأفضل إلقاء نظرة داخل تكوين الخادم لديك والبحث عن موقع دليل الجذر. كما ترون ، Laravel لديه بالفعل ملف يسمى .htaccess ، مع بعض إعدادات Apache الجاهزة.

1
carousel

إذا كانت هذه المشكلة أيضًا واكتشفت أن أسهل طريقة هي توجيه المجال الخاص بك إلى المجلد العمومي وترك كل شيء آخر كما هو.

يرجى التأكد من استخدام الإصدار الصحيح من PHP. تنقذ نفسك بعض التوتر :)

1
Overcomer

في Laravel 5.x لا يوجد paths.php

لذلك يجب عليك تعديل public/index.php وتغيير هذا السطور من أجل أن ترتدي دليل bootstrap الخاص بك:

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

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

لمزيد من المعلومات يمكنك قراءة هذا المادة.

0
M.A. Heshmat Khah