شرح مفاهيم اكواد config.php

codeNET

Administrative
طاقم الإدارة
ادارة كود نت
السمعة: 96%
أهم خيارات ملف config.php في XenForo

يُعد ملف config.php من أهم ملفات إعدادات XenForo، حيث يمكن من خلاله التحكم في مجموعة من الوظائف المتقدمة المتعلقة بالتطوير، والإضافات، والجلسات، والبريد الإلكتروني، والأمان، ومعالجة الصور وغيرها.

يقع الملف عادةً في:
src/config.php

تنبيه: بعض الخيارات التالية مخصصة للتطوير والاختبار والصيانة، ولا يُنصح بتفعيلها جميعًا على المنتدى الإنتاجي. بعد الانتهاء من أعمال التطوير أو التشخيص، يُفضّل إعادة الإعدادات إلى وضعها الطبيعي.

١. تفعيل مُثبّت أرشيف الإضافات

كود:
$config['enableAddOnArchiveInstaller'] = true;

يسمح هذا الخيار باستخدام ميزة تثبيت الإضافات من ملفات الأرشيف، مثل ملفات ZIP، من خلال لوحة تحكم XenForo.

متى تستخدمه؟
مفيد عند تطوير الإضافات أو تثبيت إضافة موجودة على شكل ملف ZIP.

ملاحظة
إذا لم تكن بحاجة إليه، فمن الأفضل عدم إبقائه مفعّلًا دون سبب، خصوصًا في بيئة الإنتاج.

٢. تفعيل وضع التطوير

كود:
$config['development']['enabled'] = true;
يُستخدم هذا الخيار لتفعيل Development Mode في XenForo.

يساعد المطور أثناء إنشاء الإضافات وتعديل ملفات XenForo والقوالب والبيانات المرتبطة بالإضافة.
ومن خلال وضع التطوير يمكن العمل على ملفات مثل:
  • addon.json
  • Setup.php
  • القوالب
  • العبارات
  • الخيارات
  • تعديلات القوالب
  • بيانات الإضافات XML
مهم
لا يُنصح بتفعيل وضع التطوير على المنتديات الإنتاجية إلا عند الحاجة، لأن هذا الوضع مخصص بشكل أساسي للمطورين.

٣. استخدام ملفات JavaScript الكاملة
كود:
$config['development']['fullJs'] = true;

يؤثر هذا الخيار على طريقة تقديم ملفات JavaScript أثناء التطوير.

عند تفعيله يمكن أن تكون ملفات JavaScript أكثر ملاءمة للفحص والتطوير بدل الاعتماد على النسخ المضغوطة أو المجمعة.

مفيد عند:
  • تطوير JavaScript.
  • فحص أخطاء المتصفح.
  • تعديل وظائف XenForo.
  • تصحيح مشاكل JavaScript.
  • تطوير إضافات تعتمد على JavaScript.

في الموقع الإنتاجي
يفضل عدم تفعيله إلا إذا كان هناك سبب واضح.


٤. تعطيل Event Listeners

كود:
$config['enableListeners'] = false;

يقوم هذا الخيار بتعطيل Event Listeners الخاصة بإضافات XenForo.
وهذا يعني أن بعض الإضافات التي تعتمد على المستمعات لن تعمل بشكل طبيعي.

متى يكون مفيدًا؟
يمكن استخدامه كخيار تشخيصي عندما تريد معرفة ما إذا كانت المشكلة ناتجة عن إحدى الإضافات أو Event Listener.

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

تحذير
لا تستخدم:
كود:
$config['enableListeners'] = false;

بشكل دائم على المنتدى، لأن ذلك قد يؤدي إلى تعطيل وظائف مهمة للعديد من الإضافات.

٥. تعطيل إرسال البريد الإلكتروني

كود:
$config['enableMail'] = false;

يقوم هذا الخيار بتعطيل إرسال البريد الإلكتروني من XenForo.

يمكن أن يكون مفيدًا في بيئة التطوير أو الاختبار حتى لا يتم إرسال رسائل حقيقية إلى المستخدمين.

مثال
عند اختبار:
  • التسجيل.
  • استعادة كلمة المرور.
  • التنبيهات البريدية.
  • رسائل XenForo.
  • رسائل الإضافات.

يمكن تعطيل البريد مؤقتًا لمنع إرسال رسائل غير مقصودة.

في المنتدى الحقيقي
لا يُنصح بتعطيله إذا كان المنتدى يعتمد على البريد الإلكتروني.


٦. تعطيل المصادقة الثنائية TFA

كود:
$config['enableTfa'] = false;

يقوم هذا الخيار بتعطيل ميزة Two-Factor Authentication (2FA/TFA) في XenForo.

قد يكون مفيدًا أثناء عمليات التطوير أو الاختبار أو عند تشخيص مشكلة مرتبطة بالمصادقة الثنائية.

أمنيًا
لا يُنصح بتعطيل المصادقة الثنائية على منتدى إنتاجي دون سبب واضح، لأن 2FA تضيف طبقة حماية إضافية لحسابات المستخدمين والإدارة.

٧. تفعيل Unicode الكامل

كود:
$config['fullUnicode'] = true;

يسمح هذا الإعداد باستخدام Unicode بشكل كامل في قاعدة البيانات، وهو مهم خصوصًا للمواقع التي تتعامل مع لغات متعددة ورموز Unicode.
يمكن أن يكون مفيدًا للمنتديات التي تحتوي على:
  • اللغة العربية.
  • الصينية.
  • اليابانية.
  • الرموز الخاصة.
  • Emoji.
  • لغات متعددة.
ملاحظة
يجب أن تكون قاعدة البيانات والجداول والإعدادات المرتبطة بها متوافقة مع Unicode الكامل، وليس مجرد إضافة هذا السطر دون التأكد من البيئة.

٨. زيادة الحد الأقصى لمعالجة الصور

كود:
$config['maxImageResizePixelCount'] = 1000000000;

يحدد هذا الخيار الحد الأقصى لعدد البكسلات التي يسمح لـ XenForo بمعالجتها عند تغيير حجم الصور.

القيمة:
1,000,000,000
أي مليار بكسل.

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

يمكن زيادة الحد في حالات معينة للسماح بمعالجة صور ضخمة.

تحذير مهم
رفع هذا الحد إلى مليار بكسل قد يؤدي إلى استهلاك كبير جدًا للذاكرة والمعالج عند معالجة الصور الكبيرة.

لذلك لا يُنصح باستخدام قيمة ضخمة على الاستضافة الإنتاجية إلا بعد التأكد من أن موارد الخادم مناسبة.


٩. تغيير بادئة Cookies

كود:
$config['cookie']['prefix'] = 'xf_';

يحدد بادئة Cookies التي يستخدمها XenForo.
في المثال السابق ستبدأ ملفات Cookie المرتبطة بـ XenForo بالبادئة:
xf_
لماذا يمكن تغييرها؟
إذا كان لديك أكثر من تطبيق أو نظام على نفس النطاق، يمكن استخدام بادئة مختلفة لتقليل احتمالية تعارض أسماء Cookies.
مثال:
كود:
$config['cookie']['prefix'] = 'codenet_';

١٠. تعطيل Clear-Site-Data

كود:
$config['enableClearSiteData'] = false;
يتحكم هذا الخيار في استخدام آلية Clear-Site-Data التي تسمح للمتصفح بحذف أنواع معينة من بيانات الموقع.

يمكن أن تكون هذه الآلية مفيدة في بعض عمليات تسجيل الخروج أو تنظيف بيانات الموقع المرتبطة بالمتصفح.

عند وضع:
false
يتم تعطيل هذه الوظيفة.

متى يمكن استخدامه؟
إذا كنت تقوم بتشخيص مشكلة مرتبطة بـ:
  • Cookies.
  • Cache.
  • بيانات المتصفح.
  • تسجيل الدخول والخروج.

١١. إزالة جلسة الزائر الافتراضية

كود:
$config['removeDefaultGuestSession'] = true;

يتحكم هذا الخيار في إزالة جلسة الزائر الافتراضية.
يمكن أن يساعد في تقليل إنشاء جلسات للزوار غير المسجلين، وبالتالي تقليل بعض النشاط غير الضروري المرتبط بالجلسات.

مناسب خصوصًا عند:
  • وجود عدد كبير من الزوار.
  • الرغبة في تقليل عمليات تسجيل الجلسات للزوار.
  • تحسين التعامل مع Session Activity.

١٢. عدم تسجيل نشاط الجلسة في Page Cache
كود:
$config['pageCache']['recordSessionActivity'] = false;

يتحكم هذا الخيار في تسجيل نشاط الجلسة عند استخدام Page Cache.
عند ضبطه على:
false
لا يتم تسجيل نشاط الجلسة بالطريقة المعتادة أثناء تقديم الصفحات المخزنة مؤقتًا.

الفائدة المحتملة
يمكن أن يكون مفيدًا في بيئات تعتمد بشكل كبير على التخزين المؤقت للصفحات، خصوصًا عندما يكون الهدف تقليل عمليات الكتابة أو تحديث نشاط الجلسات.

مثال كامل
يمكن أن يحتوي ملف src/config.php على الإعدادات بالشكل التالي:

كود:
$config['enableAddOnArchiveInstaller'] = true;
$config['development']['enabled'] = true;
$config['development']['fullJs'] = true;
$config['enableListeners'] = false;
$config['enableMail'] = false;
$config['enableTfa'] = false;
$config['fullUnicode'] = true;
$config['maxImageResizePixelCount'] = 1000000000;
$config['cookie']['prefix'] = 'xf_';
$config['enableClearSiteData'] = false;
$config['removeDefaultGuestSession'] = true;
$config['pageCache']['recordSessionActivity'] = false;

هل يجب تفعيل جميع هذه الخيارات؟
لا.
هذه الخيارات ليست مجموعة إعدادات يجب نسخها بالكامل إلى كل منتدى XenForo.

بعضها مخصص للتطوير، وبعضها للتشخيص، وبعضها يغيّر سلوكًا أمنيًا أو وظيفيًا مهمًا.

إعدادات التطوير
كود:
$config['development']['enabled'] = true;
$config['development']['fullJs'] = true;
يفضل استخدامها أثناء تطوير الإضافات والقوالب.

إعدادات التشخيص
كود:
$config['enableListeners'] = false;
$config['enableMail'] = false;

يمكن استخدامها مؤقتًا لتحديد مصدر بعض المشاكل.
إعدادات الأمان
كود:
$config['enableTfa'] = false;
لا يُنصح بتعطيله على الموقع الحقيقي دون ضرورة.

إعدادات الأداء والجلسات
كود:
$config['removeDefaultGuestSession'] = true;
$config['pageCache']['recordSessionActivity'] = false;

يجب اختبار تأثيرها على المنتدى قبل اعتمادها بشكل دائم.

الخلاصة
ملف config.php يمنح مدير XenForo والمطور مستوى متقدمًا من التحكم في سلوك النظام.

لكن زيادة عدد الخيارات لا تعني بالضرورة زيادة الأداء. بعض الإعدادات التي تبدو مفيدة للأداء قد تؤثر على وظائف أخرى، بينما بعض إعدادات التطوير قد تكون غير مناسبة تمامًا للمنتدى الإنتاجي.
لذلك يُفضل تقسيم الإعدادات إلى ثلاث فئات:

بيئة التطوير:
  • Development Mode
  • Full JavaScript
  • Add-on Archive Installer

التشخيص والصيانة:
  • تعطيل Listeners
  • تعطيل Mail
  • تعطيل بعض وظائف الجلسات مؤقتًا

الإنتاج:
  • تفعيل أقل عدد ممكن من الخيارات.
  • عدم تعطيل خصائص الأمان دون سبب.
  • ضبط معالجة الصور بما يتناسب مع موارد الخادم.
  • اختبار أي تعديل على config.php قبل اعتماده بشكل دائم.

نصيحة: قبل تعديل config.php، احتفظ دائمًا بنسخة احتياطية من الملف. خطأ بسيط في PHP داخل الملف قد يؤدي إلى ظهور شاشة بيضاء أو خطأ يمنع XenForo من العمل.

المصدر: كود نت - CodeNet
جميع الحقوق محفوظة © كود نت.
 
التعديل الأخير:
عودة
أعلى أسفل