لغة PHP - طريقة رفع مشروع Laravel الى موقعك | معهد زين العربية

لغة PHP طريقة رفع مشروع Laravel الى موقعك

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
  • التقييمات: 0
  • #1
بسم الله الرحمن الرحيم

الحمد لله والصلاة والسلام على رسول الله نبينا محمد عليه افضل الصلاة واتم التسليم

اللهم لا علم لنا إلا ما علمتنا، إنك أنت العليم الحكيم، اللهم علمنا ما ينفعنا، وانفعنا بما علمتنا، وزدنا علما،

اقدم لكم اليوم طريقة رفع مشروع مبني على منصة Laravel المشهورة والمعروفة الشرح يعمل على جميع النسخ من النسخة 5 الى 7 ولم يتم تجربته على النسخة الجديدة 8

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

ومن ثم نتوجة الى لوحة تحكم الموقع Cpanel ونقوم رفع المشروع خارج مجلد public_html ليصبح مجلد المشروع موجود بهذه الطريقة


l-1.jpg

ﻻحظو انني قمت بتحديد مجلد public_html باللون اﻻخضر ومجلد المشروع XenArabia باللون اﻻحمر

اﻻن سوف نقوم بنقل محتويات مجلد public الموجود بداخل مجلد المشروع XenArabia الى داخل مجلد public_html

اﻻن بعد نقل محتويات المجلد سوف نجد ملف باسم index.php نقوم بتعديل مسار مجلد bootstrap ومجلد vendor من هذا الشكل


كود:
require __DIR__.'/../vendor/autoload.php';

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

ليصبحو بهذا الشكل

كود:
require __DIR__.'/../../XenArabia/vendor/autoload.php';
$app = require_once __DIR__.'/../../XenArabia/bootstrap/app.php';

وللتفصيل اكثر كل ما قمنا به هو اضافة اسم مجلد المشروع الذي انشئناه بجانب مجلد public_html الى مسار الملفات مع اضافة النقطتين كمسار اعلى

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

احببت ان افيدكم بهذه المعلومة لعدم توفرها في المواقع العربية حسب مابحثت فلم اجدها اﻻ في المنتديات الاجنبية

فان اصبت فهذا من فضل الله علي وان اخطأت فجل من ﻻ يخطأ


وتقبلوا احترامي وتقديري
اخوكم
شقاوي
 

XenArabia

الحياة محطات فاترك في كل محطة ابتسامة
طاقم الإدارة
إنضم
23 يناير 2019
المشاركات
4,161
مستوى التفاعل
2,580
النقاط
113
العمر
37
الإقامة
المغرب
الموقع الالكتروني
بارك الله فيك أخي تركي
معلومة مفيدة و مهمة لمن يتعاملون مع منصة Laravel
ما ننحرم من كل جديدك
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
وربي يبارك فيك حبيبي محمد

وان شاء الله يارب يستفيد منها اﻻعضاء والزوار
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
27 يناير 2019
المشاركات
1,608
مستوى التفاعل
1,220
النقاط
113
العمر
21
الإقامة
sohag, Egypt
الموقع الالكتروني
جزيت خيرا أخي شقاوي على هذا التعريف الجميل
تحياتي لك
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
واياك حبيبي احمد وشرفت الموضوع

احترامي وتقديري
اخوك
شقاوي
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
العفو اخوي مصطفى نورت الموضوع 😘
 

محمد ع.

:: الأعضاء ::
إنضم
9 نوفمبر 2020
المشاركات
1
مستوى التفاعل
1
النقاط
1
السلام عليكم
اضافة بسيطة في نفس الموضوع.
نظراً لأن ملف vendors قد يكون حجمه كبير جداً، إذا كان الموقع يدعم وجود terminal فيمكن نقل جميع المجلدات ما عدا مجلد vendors ثم إنشاءه من خلال أمر :
composer install
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
وعليكم السلام ورحمة الله وبركاته

حياك الله اخوي @محمد ع. نورت الموضوع واشكرك على اضافة معلومة تثبيت مصادر مجلد vendors والتي للاسف لن يستفيد منها اﻻ من يملك حساب شل ssh

بارك الله فيك واشكرك على المشاركة

احترامي وتقديري
اخوك
شقاوي
 

المهدي

:: الأعضاء ::
إنضم
13 أغسطس 2020
المشاركات
50
مستوى التفاعل
30
النقاط
18
العمر
17
الإقامة
كوستي
معلومة مفيدة بالجد تشكرا علي مجهودك الجبار
تحياتي
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
العفو اخوي @المهدي

ونورت الموضوع يالغالي

احترامي وتقديري
اخوك
شقاوي
 

محمد عكور

:: الأعضاء ::
إنضم
7 سبتمبر 2019
المشاركات
33
مستوى التفاعل
39
النقاط
18
الموقع الالكتروني
والتي للاسف لن يستفيد منها اﻻ من يملك حساب شل ssh

يمكن تنفيذ الأمر بواسطة PHP مباشرةً
فقط قم بعمل ملف php جديد وقم بتنفيذ الكود التالي
PHP:
shell_exec("composer install");
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
المشكلة اخوي @محمد عكور ﻻ اعلم ان كانت جميع اﻻستضافات تدعم هذه الخاصية

وانا كانت اﻻستضافة تدعم هذه الطريقة فيمكن عمل ذلك في laravel عن طريق الكنترولر بهذه الطريقة


PHP:
<?php
namespace App\Http\Controllers;

use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Http\Request;

use App\Http\Requests;

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

class SetupController extends Controller
{
    public function setup(){
        $composerInstall = new Process("composer install");

        $composerInstall->setWorkingDirectory(base_path());

        $composerInstall->run();

        if($composerInstall->isSuccessful()){
            //...
        } else {
            throw new ProcessFailedException($composerInstall);
        }
    }
}

و للامانة لم اقم بتجربة الطريقة ولكن تم كتابة الكود بناء على موقع symfony


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

احترامي وتقديري
اخوك
شقاوي
 

محمد عكور

:: الأعضاء ::
إنضم
7 سبتمبر 2019
المشاركات
33
مستوى التفاعل
39
النقاط
18
الموقع الالكتروني
المشكلة اخوي @محمد عكور ﻻ اعلم ان كانت جميع اﻻستضافات تدعم هذه الخاصية

وانا كانت اﻻستضافة تدعم هذه الطريقة فيمكن عمل ذلك في laravel عن طريق الكنترولر بهذه الطريقة


PHP:
<?php
namespace App\Http\Controllers;

use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Http\Request;

use App\Http\Requests;

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

class SetupController extends Controller
{
    public function setup(){
        $composerInstall = new Process("composer install");

        $composerInstall->setWorkingDirectory(base_path());

        $composerInstall->run();

        if($composerInstall->isSuccessful()){
            //...
        } else {
            throw new ProcessFailedException($composerInstall);
        }
    }
}

و للامانة لم اقم بتجربة الطريقة ولكن تم كتابة الكود بناء على موقع symfony


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

احترامي وتقديري
اخوك
شقاوي
بالنسبة لي جربتها جربتها على استضافة ونجحت

لكن طريقة الكنترولر لم اجربها بصراحة
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,779
مستوى التفاعل
1,545
النقاط
113
الإقامة
K.S.A
ممتاز جدا ً ما دام جربتها على اﻻستضافة فاكيد ان طريقة الكنترول سوف تعمل بدون مشاكل
 

جميع المواضيع والمشاركات المكتوبة تعبّر عن وجهة نظر صاحبها ,, ولا تعبّر بأي شكل من الاشكال عن وجهة نظر إدارة زين العربية .

التعليقات المنشورة لا تعبر عن رأي معهد زين العربية ولا نتحمل أي مسؤولية قانونية حيال ذلك :: يتحمل كاتبها مسؤولية النشر ::

إحصائيات المنتدى

المواضيع
1,331
المشاركات
13,079
الأعضاء
503
آخر عضو مسجل
over221
أعلى