اذهب إلى المحتوى

السؤال

نشر (معدل)

كيف أستطيع تشغيل المشروع بلارافيل في حال كنت سأقوم بوضع الموقع على استضافة مشتركة؟ وبما أنه ليس لدي وصول إلى خادم الويب ولا أستطيع تشغيل الأوامر اللازمة.

لقد حاولت تغيير المسار ليقوم بالقراءة من داخل ملف public وحاولت تعديل ملف .htaccess بالشكل التالي:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

ولكن إما لا يظهر الموقع كلياً، أو أحصل على الخطأ التالي:

NotFoundHttpException in compiled.php line 7610

 

تم التعديل في بواسطة Amir Alsaeed

Recommended Posts

  • 0
نشر

ربما يعود سبب هذه المشكلة لعدم حذف ملفات التخزين المؤقت cache عند رفع المشروع على الاستضافة فلا يتم التعرف على المسارات بشكل صحيح ولحل المشكلة يجب تنفيذ التعليمات التالية:

php artisan composer dump-autoload
php artisan config:cache
php artisan config:clear
php artisan cache:clear
php artisan route:clear
___
php artisan optimize:clear
___
php artisan clear-compiled
php artisan optimize
php artisan cache:clear

حسب نسخة لارافيل

وفي حال عدم وجود ملف المكتبات vendor يحب تنفيذ:

php artisan install 

ولكن ربما تكون مشكلة صلاحيات بسبب تغير الحاسوب/المستخدم فنقوم بالتالي:

sudo chown -R www-data storage
sudo chgrp -R www-data storage
sudo chmod -R 775 storage

 

  • 0
نشر

يمكن تغيير اسم الملف server.php والموجود في جذر المشروع إلى الاسم index.php ثم نسخ الملف htaccess من داخل مجلد public أيضاً إلى المجلد الرئيسي (الجذر) للمشروع.

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

بدلاً من ذلك، يمكن إنشاء ملف جديد htaccess ضمن المجلد الرئيسي للمشروع أي بجانب الملف server.php ووضع بداخله التالي:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]

والذي بدوره سيقوم بإعادة كتابة جميع URIs إلى المجلّد public حتى الترويسات التي يتم استقبالها على سبيل المثال authorization headers والمتغيرات الأخرى.

 

  • 0
نشر

يوجد عدة طرق منها هو نقل ما بداخل مجلد Public و وضعه في Public_html مباشرة و من ثم تغيير التوجية إلى الملفات في ملف index.php بعد نقله من مجلد  public فيمكنك تغيير 

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

فتصبح 

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

وتغيير 

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

إلى 

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

مع تغيير 

APP_URL
APP_DEBUG

بداخل ملف .env

لتشغيل أوامر Artisan عن طريق المتصفح يمكنك استخدام 

Artisan::call()

مثلا

Artisan::call('key:generate');
Artisan::call('cache:clear');
Artisan::call('route:clear');
Artisan::call('config:clear');
Artisan::call('view:clear');

Artisan::call('migrate:refresh --seed');
Artisan::call('db:seed');
Artisan::call('storage:link');

مع إضافة 

use Illuminate\Support\Facades\Artisan;

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...