الفرق بين المراجعتين ل"Laravel/installation"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:التثبيت في Laravel }}</noinclude>
 
<noinclude>{{DISPLAYTITLE:التثبيت في Laravel }}</noinclude>
 
== متطلبات الخادم ==
 
== متطلبات الخادم ==
يتطلب إطار Laravel بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم [[Laravel/homestead|Homestead]])- لذلك يوصى بشدة باستخدام بيئة [[Laravel/homestead|Homestead]] كبيئة تطوير Laravel المحلية الخاصة بك.
+
يتطلب إطار [[Laravel]] بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم [[Laravel/homestead|Homestead]])- لذلك يوصى بشدة باستخدام بيئة [[Laravel/homestead|Homestead]] كبيئة تطوير [[Laravel]] المحلية الخاصة بك.
  
 
ومع ذلك، إذا لم تكن تستخدم بيئة [[Laravel/homestead|Homestead]] متاحةً لك أو ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادم يلبي المتطلبات التالية:
 
ومع ذلك، إذا لم تكن تستخدم بيئة [[Laravel/homestead|Homestead]] متاحةً لك أو ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادم يلبي المتطلبات التالية:
 
+
* PHP >= 7.1.3
·       PHP >= 7.1.3
+
* ملحق OpenSSL PHP
 
+
* ملحق PDO PHP
·        ملحق OpenSSL PHP
+
* ملحق Mbstring PHP
 
+
* ملحق Tokenizer PHP
·        ملحق PDO PHP
+
* ملحق XML PHP
 
+
* ملحق Ctype PHP
·        ملحق Mbstring PHP
+
* ملحق JSON PHP
 
 
·        ملحق Tokenizer PHP
 
 
 
·        ملحق XML PHP
 
 
 
·        ملحق Ctype PHP
 
 
 
·        ملحق JSON PHP
 
  
 
== تثبيت Laravel ==
 
== تثبيت Laravel ==
يستخدم إطار العمل Laravel برمجية Composer لإدارة الاعتماديات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام Laravel.
+
يستخدم إطار العمل [[Laravel]] برمجية Composer لإدارة الاعتماديات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام [[Laravel]].
  
==== باستخدام مُثبِّت Laravel ====
+
==== باستخدام مُثبِّت [[Laravel]] ====
حمّل أوّلًا مثبّت Laravel باستخدام Composer :<syntaxhighlight lang="text">
+
حمّل أوّلًا مثبّت [[Laravel]] باستخدام Composer :<syntaxhighlight lang="text">
 
composer global require "laravel/installer"
 
composer global require "laravel/installer"
  
</syntaxhighlight>احرص على إضافة مجلد <code>vendor/bin</code> الخاصة ببرنامج Composer إلى متغير البيئة ‎<code>$PATH</code> بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل Laravel بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية:
+
</syntaxhighlight>احرص على إضافة مجلد <code>vendor/bin</code> الخاصة ببرنامج Composer إلى متغير البيئة ‎<code>$PATH</code> بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل [[Laravel]] بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية:
  
·        في نظام macOS: في المسار <code>‎$HOME/.composer/vendor/bin</code>
+
·        في نظام ماك: في المسار <code>‎$HOME/.composer/vendor/bin</code>
  
 
·        في توزيعات لينكس: في المسار <code>‎$HOME/.config/composer/vendor/bin</code>
 
·        في توزيعات لينكس: في المسار <code>‎$HOME/.config/composer/vendor/bin</code>
  
بعد تثبيته، سيُنشِئ الأمر <code>laravel new</code> مجلدًا يحتوي على نسخة جديدة من إطار Laravel. على سبيل المثال ، سيُنشِئ الأمر <code>laravel new blog</code> مجلدًا جديدًا باسم blog يحتوي على تثبيت Laravel جديد مع جميع اعتماديات Laravel اللازمة.<syntaxhighlight lang="text">
+
بعد تثبيته، سيُنشِئ الأمر <code>laravel new</code> مجلدًا يحتوي على نسخة جديدة من إطار [[Laravel]]. على سبيل المثال ، سيُنشِئ الأمر <code>laravel new blog</code> مجلدًا جديدًا باسم blog يحتوي على تثبيت [[Laravel]] جديد مع جميع اعتماديات [[Laravel]] اللازمة.<syntaxhighlight lang="text">
 
laravel new blog
 
laravel new blog
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
==== باستخدام Composer ====
 
==== باستخدام Composer ====
بشكلٍ بديل، يمكنك أيضًا تثبيت Laravel بتنفيذ الأمر <code>create-project</code> الخاص ببرمجية Composer في الطرفية على جهازك:<syntaxhighlight lang="text">
+
بشكلٍ بديل، يمكنك أيضًا تثبيت [[Laravel]] بتنفيذ الأمر <code>create-project</code> الخاص ببرمجية Composer في الطرفية على جهازك:<syntaxhighlight lang="text">
 
composer create-project --prefer-dist laravel/laravel blog
 
composer create-project --prefer-dist laravel/laravel blog
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
==== باستخدام خادم التطوير المحلي ====
 
==== باستخدام خادم التطوير المحلي ====
إذا كنت قد قمت بتثبيت PHP محليًا وترغب في استخدام خادم التطوير الخاص بلغة PHP لتخديم تطبيقك، فيمكنك استخدام الأمر Artisan serve. سيبدأ هذا الأمر خادم تطوير على<code><nowiki>http://localhost:8000</nowiki></code>:<syntaxhighlight lang="text">
+
إذا كنت قد قمت بتثبيت [[PHP]] محليًا وترغب في استخدام خادم التطوير الخاص بلغة PHP لتخديم تطبيقك، فيمكنك استخدام الأمر <code>Artisan serve</code>. سيبدأ هذا الأمر خادم تطوير على<code><nowiki>http://localhost:8000</nowiki></code>:<syntaxhighlight lang="text">
 
php artisan serve
 
php artisan serve
 
</syntaxhighlight>بالطبع، تتوفر خيارات التطوير المحلية أكثر قوة من خلال [[Laravel/homestead|Homestead]] و [[Laravel/valet|Valet]].
 
</syntaxhighlight>بالطبع، تتوفر خيارات التطوير المحلية أكثر قوة من خلال [[Laravel/homestead|Homestead]] و [[Laravel/valet|Valet]].
سطر 51: سطر 43:
  
 
==== المجلد العام ====
 
==== المجلد العام ====
بعد تثبيت Laravel ، يجب عليك ضبط جذر لخادم الويب الخاص بك ليكون المجلد public. يعمل الملف <code>index.php</code>  في هذا المسار كوحدة تحكم أمامية لجميع طلبات HTTP التي تدخل التطبيق الخاص بك.
+
بعد تثبيت [[Laravel]] ، يجب عليك ضبط جذر لخادم الويب الخاص بك ليكون المجلد public. يعمل الملف <code>index.php</code>  في هذا المسار كوحدة تحكم أمامية لجميع طلبات HTTP التي تدخل التطبيق الخاص بك.
  
 
==== ملفات الضبط ====
 
==== ملفات الضبط ====
تُخزَّن كافة ملفات الضبط الخاصة بإطار Laravel في مجلد <code>config.</code> كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في النظر في الملفات والتعرف على الخيارات المتاحة لك.
+
تُخزَّن كافة ملفات الضبط الخاصة بإطار [[Laravel]] في مجلد <code>config.</code> كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في النظر في الملفات والتعرف على الخيارات المتاحة لك.
  
 
==== أذونات المجلد ====
 
==== أذونات المجلد ====
سطر 60: سطر 52:
  
 
==== مفتاح التطبيق ====
 
==== مفتاح التطبيق ====
أول ما عليك فعله بعد تثبيت Laravel هو ضبط مفتاح التطبيق الخاص بك إلى سلسلة نصية عشوائية. إذا ثبتت Laravel باستخدام Composer أو مثبت Laravel، فقد ضُبِطَ هذا المفتاح لك باستخدام الأمر <code>php artisan key:generate</code>.
+
أول ما عليك فعله بعد تثبيت Laravel هو ضبط مفتاح التطبيق الخاص بك إلى سلسلة نصية عشوائية. إذا ثبتت [[Laravel]] باستخدام Composer أو مثبت Laravel، فقد ضُبِطَ هذا المفتاح لك باستخدام الأمر <code>php artisan key:generate</code>.
  
 
يجب أن تكون هذه السلسلة 32 محرفًا عادةً. يمكن تعيين المفتاح في ملف البيئة ‎.env. إذا لم تُعِد تسمية الملف ‎<code>.env.example</code> إلى ‎<code>.env</code>، فيجب عليك القيام بذلك الآن. إذا لم يُضبَط مفتاح التطبيق، فلن تكون جلسات المستخدم الخاصة بك وغيرها من البيانات المشفرة آمنة!
 
يجب أن تكون هذه السلسلة 32 محرفًا عادةً. يمكن تعيين المفتاح في ملف البيئة ‎.env. إذا لم تُعِد تسمية الملف ‎<code>.env.example</code> إلى ‎<code>.env</code>، فيجب عليك القيام بذلك الآن. إذا لم يُضبَط مفتاح التطبيق، فلن تكون جلسات المستخدم الخاصة بك وغيرها من البيانات المشفرة آمنة!
سطر 67: سطر 59:
 
لا يحتاج Laravel إلى أي ضبط آخر مبدئيًا. يمكنك البدء بالتطوير فورًا. ومع ذلك، قد ترغب في مراجعة الملف <code>config/app.php</code> وتوثيقه. يحتوي على العديد من الخيارات مثل المنطقة الزمنية (timezone) والمحليّة (locale ) والتي قد ترغب في تغييرها وفقًا لتطبيقك.
 
لا يحتاج Laravel إلى أي ضبط آخر مبدئيًا. يمكنك البدء بالتطوير فورًا. ومع ذلك، قد ترغب في مراجعة الملف <code>config/app.php</code> وتوثيقه. يحتوي على العديد من الخيارات مثل المنطقة الزمنية (timezone) والمحليّة (locale ) والتي قد ترغب في تغييرها وفقًا لتطبيقك.
  
قد ترغب أيضًا في تكوين بعض المكونات الإضافية في Laravel، مثل:
+
قد ترغب أيضًا في تكوين بعض المكونات الإضافية في [[Laravel]]، مثل:
 
* ذاكرة التخزين المؤقتة
 
* ذاكرة التخزين المؤقتة
 
* قاعدة البيانات
 
* قاعدة البيانات
سطر 76: سطر 68:
 
=== عناوين URL جذابة ===
 
=== عناوين URL جذابة ===
  
==== خادم  Apache ====
+
==== خادم  [[Apache]] ====
يتضمن Laravel الملف <code>public/.htaccess</code> الذي يُستخدم لتوفير عناوين URL بدون وحدة التحكم <code>index.php</code> الأمامية في المسارات. قبل تخديم  Laravel مع Apache، تأكد من تفعيل الوحدة <code>mod_rewrite</code> بحيث تُنفَّذ محتويات ملف <code>‎.htaccess</code> بواسطة الخادم.
+
يتضمن Laravel الملف <code>public/.htaccess</code> الذي يُستخدم لتوفير عناوين URL بدون وحدة التحكم <code>index.php</code> الأمامية في المسارات. قبل تخديم  <nowiki/>[[Laravel]] مع [[Apache]]، تأكد من تفعيل الوحدة <code>mod_rewrite</code> بحيث تُنفَّذ محتويات ملف <code>‎.htaccess</code> بواسطة الخادم.
  
إذا كان ملف <code>‎.htaccess</code> الذي يأتي مع Laravel لا يعمل مع تثبيت Apache عندك، فجرّب هذا الملف البديل:<syntaxhighlight lang="text">
+
إذا كان ملف <code>‎.htaccess</code> الذي يأتي مع [[Laravel]] لا يعمل مع تثبيت [[Apache]] عندك، فجرّب هذا الملف البديل:<syntaxhighlight lang="text">
 
Options+FollowSymLinks
 
Options+FollowSymLinks
  
سطر 93: سطر 85:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== خادم  Nginx ====
+
==== خادم  <nowiki/>[[Nginx]] ====
إذا كنت تستخدم خادم Nginx، فإن تعليمة الضبط الآتية في ملف ضبط موقعك سيوجه جميع الطلبات
+
إذا كنت تستخدم خادم [[Nginx]]، فإن تعليمة الضبط الآتية في ملف ضبط موقعك سيوجه جميع الطلبات
  
 
إلى وحدة التحكم الأمامية <code>index.php</code>:<syntaxhighlight lang="php">
 
إلى وحدة التحكم الأمامية <code>index.php</code>:<syntaxhighlight lang="php">

مراجعة 20:06، 17 أكتوبر 2018

متطلبات الخادم

يتطلب إطار Laravel بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم Homestead)- لذلك يوصى بشدة باستخدام بيئة Homestead كبيئة تطوير Laravel المحلية الخاصة بك.

ومع ذلك، إذا لم تكن تستخدم بيئة Homestead متاحةً لك أو ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادم يلبي المتطلبات التالية:

  • PHP >= 7.1.3
  • ملحق OpenSSL PHP
  • ملحق PDO PHP
  • ملحق Mbstring PHP
  • ملحق Tokenizer PHP
  • ملحق XML PHP
  • ملحق Ctype PHP
  • ملحق JSON PHP

تثبيت Laravel

يستخدم إطار العمل Laravel برمجية Composer لإدارة الاعتماديات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام Laravel.

باستخدام مُثبِّت Laravel

حمّل أوّلًا مثبّت Laravel باستخدام Composer :

composer global require "laravel/installer"

احرص على إضافة مجلد vendor/bin الخاصة ببرنامج Composer إلى متغير البيئة ‎$PATH بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل Laravel بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية:

·        في نظام ماك: في المسار ‎$HOME/.composer/vendor/bin

·        في توزيعات لينكس: في المسار ‎$HOME/.config/composer/vendor/bin

بعد تثبيته، سيُنشِئ الأمر laravel new مجلدًا يحتوي على نسخة جديدة من إطار Laravel. على سبيل المثال ، سيُنشِئ الأمر laravel new blog مجلدًا جديدًا باسم blog يحتوي على تثبيت Laravel جديد مع جميع اعتماديات Laravel اللازمة.

laravel new blog

باستخدام Composer

بشكلٍ بديل، يمكنك أيضًا تثبيت Laravel بتنفيذ الأمر create-project الخاص ببرمجية Composer في الطرفية على جهازك:

composer create-project --prefer-dist laravel/laravel blog

باستخدام خادم التطوير المحلي

إذا كنت قد قمت بتثبيت PHP محليًا وترغب في استخدام خادم التطوير الخاص بلغة PHP لتخديم تطبيقك، فيمكنك استخدام الأمر Artisan serve. سيبدأ هذا الأمر خادم تطوير علىhttp://localhost:8000:

php artisan serve

بالطبع، تتوفر خيارات التطوير المحلية أكثر قوة من خلال Homestead و Valet.

الضبط

المجلد العام

بعد تثبيت Laravel ، يجب عليك ضبط جذر لخادم الويب الخاص بك ليكون المجلد public. يعمل الملف index.php  في هذا المسار كوحدة تحكم أمامية لجميع طلبات HTTP التي تدخل التطبيق الخاص بك.

ملفات الضبط

تُخزَّن كافة ملفات الضبط الخاصة بإطار Laravel في مجلد config. كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في النظر في الملفات والتعرف على الخيارات المتاحة لك.

أذونات المجلد

بعد تثبيت Laravel، قد تحتاج إلى ضبط بعض الأذونات (permissions). يجب أن تكون المجلدات داخل مجلد storage ومجلد bootstrap/cache قابلةً للكتابة بواسطة خادم الويب أو لن يعمل Laravel. إذا كنت تستخدم بيئة عمل Homestead، فستكون الأذونات المطلوبة مضبوطةً مسبقًا.

مفتاح التطبيق

أول ما عليك فعله بعد تثبيت Laravel هو ضبط مفتاح التطبيق الخاص بك إلى سلسلة نصية عشوائية. إذا ثبتت Laravel باستخدام Composer أو مثبت Laravel، فقد ضُبِطَ هذا المفتاح لك باستخدام الأمر php artisan key:generate.

يجب أن تكون هذه السلسلة 32 محرفًا عادةً. يمكن تعيين المفتاح في ملف البيئة ‎.env. إذا لم تُعِد تسمية الملف ‎.env.example إلى ‎.env، فيجب عليك القيام بذلك الآن. إذا لم يُضبَط مفتاح التطبيق، فلن تكون جلسات المستخدم الخاصة بك وغيرها من البيانات المشفرة آمنة!

الضبط الإضافي

لا يحتاج Laravel إلى أي ضبط آخر مبدئيًا. يمكنك البدء بالتطوير فورًا. ومع ذلك، قد ترغب في مراجعة الملف config/app.php وتوثيقه. يحتوي على العديد من الخيارات مثل المنطقة الزمنية (timezone) والمحليّة (locale ) والتي قد ترغب في تغييرها وفقًا لتطبيقك.

قد ترغب أيضًا في تكوين بعض المكونات الإضافية في Laravel، مثل:

  • ذاكرة التخزين المؤقتة
  • قاعدة البيانات
  • الجلسة

ضبط خادم الويب

عناوين URL جذابة

خادم Apache

يتضمن Laravel الملف public/.htaccess الذي يُستخدم لتوفير عناوين URL بدون وحدة التحكم index.php الأمامية في المسارات. قبل تخديم  Laravel مع Apache، تأكد من تفعيل الوحدة mod_rewrite بحيث تُنفَّذ محتويات ملف ‎.htaccess بواسطة الخادم.

إذا كان ملف ‎.htaccess الذي يأتي مع Laravel لا يعمل مع تثبيت Apache عندك، فجرّب هذا الملف البديل:

Options+FollowSymLinks

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [L]

خادم  Nginx

إذا كنت تستخدم خادم Nginx، فإن تعليمة الضبط الآتية في ملف ضبط موقعك سيوجه جميع الطلبات

إلى وحدة التحكم الأمامية index.php:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

بالطبع، عند استخدام Homestead أو Valet، سيتم ضبط عناوين URL جذابة تلقائيًا.

مصادر