كيف أجعل مشروعي يعمل مباشراً دون الدخول لمجلد public ؟

لتجعل مشروعك يعمل على اسم النطاق الأساسي أو من خلال مجلد المشروع دون الدخول لمجلد public نفذ التالي:

1- قم بإخراج كل محتوي المجلد public خارجه -وهو المجلد الذي تضع به محتويات مشروعك من ملفات css و javaScript وصور وخلافه-.

2- إفتح الملف index.php غير المسار الجديد للوصول للملف autoload.php والملف start.php بإزالة /.. لأننا نقلنا الملف index.php لمجلد المشروع الأساسي أي يصبح المسار كالتالي:

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

3- أدخل للمجلد bootstrap ثم عدل المسارات في الملف paths.php ما يحتاج تعديل هو مسار ملفات المشروع المشروع في السطر 29 قم بإزالة كلمة public كالتالي:

'public' => __DIR__.'/..',

:) إنتهى الآن مشروعك يعمل مباشراً

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

حل رائع يا اخي ، لكن يمكن ببساطة ان تغير

public

الي

public_html

ثم تذهب لملف

/bootstrap/paths.php

و تغير مسار

'public' => __DIR__.'/../public_html/

و عند استخدام اداة للتعامل مع ftp ارفع مشروعك الي www و ليس الي public_html .


اولا و اخرا جزاك الله خيرا

  • حل جميل، هذا هو الهدف من المشاركة هو أن يضع كل منا طريقته لنتناقش حولها ونختار :)

فقط ضع هذا الكود فى ملف '.htaccess' فى مجلد المشروع سيحول الدخول لمجلد public

'

RewriteEngine On

RewriteRule ^(.*)$ public/$1 [L]

'

شكراً لك، إستخدام ملف htaccess. أفضل من الطريقة التي تم ذكرها، ويظل التنوع موجود لمن يرغب أن يطبق أي من الطرق المذكورة فكلها تؤدي لنفس الغرض.

وجدت حلولا أخرى في النت، لكن ما أتساءل بشأنه هو لماذا لم تُتح طريقة رسمية من الإطار نفسه ؟

لا أعلم حقاً لماذا، مع أنها من الضروريات فلن يعمل أحد على مجلد public مطلقاً

يبدو بأن "المُطور الجاد" يستخدم استضافة خاصة به لاستضافة تطبيقه (خاصة مع تدني أسعار الخواديم الافتراضية) بدل الاستعانة بالاستضافات المُشتركة وبالتالي فإنه "رسميا" يُمكن القول بأنه لا وجود لمثل هذا المُشكل من أساسه :)

"المطور الجاد" هو من يذلّل برامجه لكل العملاء مع اختلاف خوادمهم وتدني اعتمادياتها!

"المطور الجاد" يجب أن يذلل مشاكل الإطار لتُبنى عليه برامج مجانية يحمّلها ويركبها أشخاص -يحبّون Next Next و- لا خبرة لهم في البرمجة والخوادم!

يبدو بأننا نتكلّم عن أمرين مُختلفين. ما قصدته بالمطور الجاد هو من سيستخدم إطار العمل وليس من يقوم بتوفيره.

لا أعتقد بأن laravel تستهدف جماعة next next لاحظ مثلا أن ما يُطلق عليه "learning curve" يزداد تعقيدًا مع كل إصدار.

ألا تعتقد بأنه من ليست لديه أية خبرة بالبرمجة فسيشرع في تعلّم أساسيات البرمجة والـ PHP أولا بدل الانتقال مُباشرة إلى إطار عمل؟

آه، أنا آسف، ظننتك تتحدث عن الذي سيستخدم برمجيات مبنية على Laravel

خلاف ذلك، طبعا على "المطور الجاد" تعلم أغلب التقنيات التي يعتمد عليها laravel قبل تعلمه أصلا، فمثلا أنا تعاملت مع git,composer ... قبل أن أعرف Laraver بوقت طويل!

نفس الطريقة التي استعمل، غير اني اخرج فقط index.php و .htaccess وابقي على المجلدات الاخرى

Laravel (أو PHP) تدرج معها سيرفر جاهز تستطيع الولوج له عبر القيام بالأمر التالي من سطر الأوامر

php artisan serve

يفعل هذا السيرفر الذي يجعل مجلد public هو الرئيسي وتستطيع حينها الولوج له عبر localhost:8000

PHP هي في الواقع من تملك سيرفر وليس laravel ويمكن أظن laravel أضافت له بعض التخصيص

لكن بعد رفع المشروع على استضافة محدودة سيكون علينا تطبيق حل آخر، أليس كذلك ؟

لا أفترض أنك تستطيع استخدام laravel في استضافة محدود أصلا إلا بطرق ملتوية وتتطلب شروط صعبة على الاستضافات المشتركة، مثل إصدار PHP 5.4 وأعلى

حدث هذا معي عند محاولتي إستضافة الإصدار V4.2 على إستضافة ipage المشتركة فلم يعمل الإطار على الإستضافة فأضررت لإستخدام V4.1، تحدثت معهم بخصوص الترقية فردون بأنه ليس لديهم نيه لهذا حالياً مازالت الإستضافة تعمل على PHP V5.3.1، بعكس إستضافتي مع dynadot بمجرد مراسلتهم عن التحديث قاموا بالتحديث لأخر إصدار مستقر من اللغة.

php artisan تستخدمه Laravel لتسهيل العمل على بيئة التطوير، فبتعلم أوامر بسيطه توفر عليك كتابة الفئات "Class" وإنشاءها يدوياً وكثيراً من الأمور داخل Laravel -يمكن الإستغناء عنه-

composer عموماً ليس خاص بـ Laravel ولكنه منصة عامة لتطوير حزم php عموماً، بطريقة سهلة تضمن التحديث المستمر لمكتباتك.

علي وجه السرعة اذا كانت احدكم متفرغ لمدة خمس دقائق فقط عندي مشروع رافيل صنعه لي مبرمجة

ولكن لا استطيع تشغيله عندي عاللاب لذا اطلب الدخول الي جهازي عبر ال team viewer

-1

وسأكون اول نت يرد على موضوعك

شكرا لك بداية موفقة