أحاول تحميل مشروع Laravel على خادم الويب الخاص بي ، لكن محاولتي السابقة لم تنجح. أعتقد أنني لا أحمل الملفات إلى الموقع الصحيح.
هذا هو هيكل خادم الويب الخاص بي ->
هل أنا على صواب لأقول أنني بحاجة إلى تحميل جميع ملفات laravel الخاصة بي إلى public_html؟
هذا هو دليل مشروعيLaravel:
تحرير: لقد أضفت الآن جميع الملفات إلى المجلد الجذر ، وعامة في public_html ، ولكن يبدو أن أي من طرقي لا تعمل. (انهم يعملون تماما على مضيف محلي). كل شيء يلقي 404
لا ، لكن لديك خياران:
أسهل الطرق هي تحميل جميع الملفات التي لديك في هذا الدليل الذي تستخدمه (مثل الدليل الرئيسي لمستخدم 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
أعتقد أن ملفاتك/مجلداتكLaravel يجب ألا توضع في دليل الجذر.
مثلا إذا تمت الإشارة إلى المجال الخاص بك إلى دليل public_html
، فيجب وضع كل المحتوى في هذا الدليل. ماذا ؟ دعني أخبرك
افتح bootstrap/paths.php الخاص بك ، ثم غير 'public' => __DIR__.'/../public',
إلى 'public' => __DIR__.'/..',
وأخيرا في 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 التطبيق الخاص بك الآن.
إذا كنت تحاول استضافة تطبيق Laravel على استضافة مشتركة ، فقد يساعدك ذلك.
Hosting Laravel على الاستضافة المشتركة # 1
استضافة Laravel على استضافة مشتركة # 2
إذا كنت تريد PHP 5.4 ، فأضف هذا السطر إلى ملف .htaccess
أو اتصل بمزود الاستضافة.
AddType application/x-httpd-php54 .php
يجب أن تكون جميع ملفاتكLaravel في مكان واحد. Laravel يعرض ملفه public folder إلى الخادم. يمثل هذا المجلد نوعًا من وحدة التحكم الأمامية للتطبيق بالكامل. وفقًا لتكوين الخادم الخاص بك ، يجب عليك توجيه مسار الخادم الخاص بك إلى هذا المجلد. كما أستطيع أن أرى أن هناك www site على صورتك. www هو الدليل الجذر الافتراضي على أجهزة Unix/Linux. من الأفضل إلقاء نظرة داخل تكوين الخادم لديك والبحث عن موقع دليل الجذر. كما ترون ، Laravel لديه بالفعل ملف يسمى .htaccess ، مع بعض إعدادات Apache الجاهزة.
إذا كانت هذه المشكلة أيضًا واكتشفت أن أسهل طريقة هي توجيه المجال الخاص بك إلى المجلد العمومي وترك كل شيء آخر كما هو.
يرجى التأكد من استخدام الإصدار الصحيح من PHP. تنقذ نفسك بعض التوتر :)
في Laravel 5.x لا يوجد paths.php
لذلك يجب عليك تعديل public/index.php
وتغيير هذا السطور من أجل أن ترتدي دليل bootstrap
الخاص بك:
require __DIR__.’/../bootstrap/autoload.php’;
$app = require_once __DIR__.’/../bootstrap/app.php’;
لمزيد من المعلومات يمكنك قراءة هذا المادة.