• منتديات شباب الرافدين .. تجمع عراقي يقدم محتوى مميز لجميع طلبة وشباب العراق .. لذا ندعوكم للانضمام الى اسرتنا والمشاركة والدعم وتبادل الافكار والرؤى والمعلومات. فأهلاَ وسهلاَ بكم.
تهيئة ملف config.php في XenForo | دليلك العملي لفهم إعدادات التطوير والأمان والأداء

شرح عام XF تهيئة ملف config.php في XenForo | دليلك العملي لفهم إعدادات التطوير والأمان والأداء

Ibn AliraQ

ヅ واحد من الناس ヅ

السمعة: 100%
إنضم
2018-08-28
المشاركات
17,578
مستوى التفاعل
6,912
النقاط
297
الإقامة
العراق
جوهرة
დ224,785
إصدار الزين فورو
XenForo 2.x
مرحبا اصدقائي،
اغلب اصحاب المواقع، يعرف بان ملف config.php في سكربت XenForo من أهم الملفات التي تحدد طريقة عمل المنتدى في الخلفية، فهو يتحكم في الإعدادات المتقدمة التي لا تظهر عادة في لوحة التحكم. من خلال هذا الملف يمكن تفعيل وضع التطوير، أو تعطيل البريد الإلكتروني، أو التحكم في الإضافات، أو ضبط الكوكيز والجلسات والأداء.
تهيئة ملف config.php في XenForo.png

في السطور الآتية شرح مبسّط لاهم الإعدادات التي يمكن استخدامها في الموقع:

1. تمكين تثبيت الإضافات من الأرشيف - EnableAddOnArchiveInstaller
PHP:
$config['enableAddOnArchiveInstaller'] = true;

هذا الخيار يتيح لك تثبيت الإضافات في XenForo عن طريق رفع ملف الإضافة المضغوط بصيغة zip مباشرة من لوحة تحكم الإدارة، بدلًا من فك الضغط يدويًا ورفع الملفات عبر الـ FTP.
يفيد هذا الإعداد خصوصًا في بيئات التطوير أو عند الرغبة في تسهيل عمل المديرين الفنيين الذين يديرون أكثر من منتدى. مثلًا، إذا اشتريت إضافة جديدة، يمكنك الدخول إلى لوحة التحكم، ثم رفع الملف كما هو، ليقوم النظام بعملية الاستخراج والتثبيت داخليًا دون خطوات إضافية.

2. إعدادات وضع التطوير للمبرمجين - Development Enabled
PHP:
$config['development']['enabled'] = true;

عند تفعيل هذا الخيار يتم تشغيل وضع التطوير (Developer Mode) في XenForo، وهو وضع مخصص للمطورين الذين ينشئون إضافات أو يعدّلون على الكود.
يتيح هذا الوضع ظهور رسائل أخطاء أكثر تفصيلًا، وإتاحة أدوات تطوير إضافية في النظام، ما يساعد على اكتشاف الأخطاء بسرعة أثناء العمل على الإضافات أو القوالب.

3. Development fullJs
PHP:
$config['development']['fullJs'] = true;

هذا الإعداد يفرض على النظام استخدام ملفات JavaScript الكاملة غير المضغوطة بدل النسخ المضغوطة والمصغّرة.
الفائدة الرئيسية هنا هي سهولة قراءة الكود في المتصفح وتتبع الأخطاء في الـ console، لأن الملفات غير مضغوطة تكون أوضح في أسماء الدوال والمتغيرات، مما يجعل عملية إصلاح الأخطاء أسهل للمطور.

4. التحكم في الإضافات والأحداث البرمجية - EnableListeners
PHP:
$config['enableListeners'] = false;

تعتمد كثير من الإضافات في XenForo على ما يسمى “مستمعو الأحداث” (Event Listeners) لحقن وظائفهم داخل النظام الأساسي. عند ضبط هذا الخيار على false يتم تعطيل معظم هذه المستمعات، وبالتالي تعطيل معظم تأثير الإضافات.
يُستخدم هذا الخيار في حالات الطوارئ، مثلًا إذا سببت إضافة ما عطلًا في المنتدى أو خطأ قاتل يمنع الدخول إلى لوحة الإدارة، يمكن تعطيل المستمعين من config.php لتجاوز الكود المسبّب للمشكلة ثم إزالة الإضافة أو إصلاحها بأمان.

مثال عملي: لو قمت بتثبيت إضافة جديدة ثم أصبح المنتدى يعرض صفحة خطأ بيضاء أو رسالة خطأ داخلية، يمكنك ضبط enableListeners إلى false مؤقتًا، والدخول إلى لوحة الإدارة وإلغاء تثبيت الإضافة المسببة للعطل.

5. تعطيل البريد الإلكتروني مؤقتًا - EnableMail
PHP:
$config['enableMail'] = false;

هذا الإعداد يوقف إرسال جميع رسائل البريد الإلكتروني من المنتدى، مثل رسائل التفعيل والتنبيهات ورسائل إعادة تعيين كلمة المرور.
يُستخدم غالبًا في بيئة اختبار أو نسخة تجريبية من المنتدى (Staging) حتى لا تصل رسائل خاطئة أو مزعجة للمستخدمين الحقيقيين، أو عند الرغبة في التحقق من الإعدادات دون إرسال أي بريد فعلي.

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

6. إدارة التحقق الثنائي (Two-Factor Authentication) - EnableTfa
PHP:
$config['enableTfa'] = false;

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

7. دعم كامل لليونيكود والإيموجي - FullUnicode
PHP:
$config['fullUnicode'] = true;

هذا الإعداد يعني أن قاعدة البيانات معدّة للعمل بنمط ترميز Unicode الكامل، مما يسمح باستخدام طيف واسع من الرموز، بما في ذلك الإيموجي الحديثة واللغات ذات الحروف الخاصة.
تفعيل هذا الخيار عادة يكون بعد تجهيز قاعدة البيانات بشكل صحيح (مثل استخدام utf8mb4)، وهو مهم لمنتديات تحتوي على محتوى بلغات متعددة أو تستخدم الرموز التعبيرية بكثرة.

8. التحكم في حجم الصور ومعالجتها - MaxImageResizePixelCount
PHP:
$config['maxImageResizePixelCount'] = 1000000000;

هذا الخيار يحدد الحد الأقصى لعدد البكسلات للصورة التي يمكن للنظام التعامل معها عند إعادة التحجيم (Resize).
القيمة الكبيرة جدًا مثل 1000000000 تعني أن النظام سيتسامح مع صور ذات أبعاد ضخمة قبل أن يرفض معالجتها أو يوقف العملية، وهذا قد يكون مناسبًا في خادم قوي أو بيئة تحتاج إلى مرونة في رفع الصور، لكن في بيئات الموارد المحدودة قد يُفضل تخفيض هذا الرقم لحماية الذاكرة والمعالج.

مثال: صورة بدقة 10000 × 10000 بكسل تحتوي على 100 مليون بكسل، وهي أقل من الحد المعرّف في هذا الإعداد، وبالتالي سيحاول النظام معالجتها ما لم توجد قيود أخرى.

9. إعداد بادئة الكوكيز - Cookie prefix
PHP:
$config['cookie']['prefix'] = 'xf_';

هذا الإعداد يحدد البادئة (Prefix) التي ستظهر في أسماء الكوكيز الخاصة بالمنتدى في المتصفح.
يفيد ذلك عندما يكون هناك أكثر من منتدى أو سكربت على نفس النطاق، حتى لا يحدث تعارض بين الكوكيز. يمكن مثلًا تغيير البادئة إلى xf_forum1_ لمنتدى، و xf_forum2_ لآخر على نفس الدومين لضمان فصل بيانات الجلسات وتفضيلات المستخدمين.

10. إعدادات متقدمة للجلسات والكاش - EnableClearSiteData
PHP:
$config['enableClearSiteData'] = false;

يتحكم هذا الخيار في استخدام آلية لمسح بيانات الموقع من المتصفح (مثل الكاش والكوكيز) عبر ترويسة معينة، ويُستخدم عادة في سيناريوهات متقدمة.
إيقاف هذه الميزة يعني أن النظام لن يفرض على المتصفح مسح بيانات الموقع بشكل تلقائي بهذه الطريقة، ما يحافظ على استقرار تجربة المستخدم ما لم يكن هناك سبب قوي لاستخدامها.

11. RemoveDefaultGuestSession
PHP:
$config['removeDefaultGuestSession'] = true;

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

12. PageCache recordSessionActivity
PHP:
$config['pageCache']['recordSessionActivity'] = false;

عند استخدام نظام تخزين الصفحات مؤقتًا (Page Cache)، يتحكم هذا الإعداد في ما إذا كان سيتم تسجيل نشاط الجلسة عند تقديم صفحة من الكاش أم لا.
ضبطه على false يعني عدم تسجيل حركة الجلسات لكل صفحة مخزنة مؤقتًا، مما يقلل عدد عمليات الكتابة في قاعدة البيانات ويحسّن الأداء، خصوصًا في المواقع المزدحمة التي تعتمد على الكاش بشكل كبير.

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

ختامًا، تمثل هذه الإعدادات في ملف config.php أداة قوية تمنحك تحكمًا عميقًا في منتدى XenForo من حيث التطوير والأمان والأداء، لكنها في الوقت نفسه سلاح ذو حدين يحتاج إلى وعي وانضباط في الاستخدام. إذا كنت تستخدم هذه الخيارات لأول مرة أو لست متأكدًا من تأثير إعداد معيّن، فاستعن بتوثيق XenForo الرسمي أو اسأل أهل الخبرة قبل تطبيقه على موقعك الحي، وابدأ الآن بمراجعة إعدادات منتداك وتجهيز بيئة تطوير آمنة تجري عليها تجاربك بثقة قبل نقلها إلى بيئة الإنتاج.
دمتم بود!​
 
Similar content الاكثر مشاهدة عرض المزيد
عودة
أعلى أسفل