Skip Navigation

للتشغيل، يحتاج WPML إلى التالي:

  • WordPress 4.7 أو أعلى
  • PHP 7.0 أو أعلى مع حد ذاكرة لا يقل عن 128 ميجابايت، بينما نوصي بحد ذاكرة 256 ميجابايت (انظر كيفية زيادة ذاكرة WP). انتبه إلى أن مساحة الذاكرة المطلوبة لموقعك تعتمد على محتواك وقالبك وجميع ملحقاتك.
  • MySQL 5.6 أو أعلى. بدلاً من ذلك، يمكنك استخدام MariaDB 10.1 أو أعلى.
  • أن تكون قادرًا على إنشاء جداول في قاعدة بياناتك.
  • يجب تمكين واجهة البرمجة WordPress REST API لكي يعمل WPML كما ينبغي.
  • امتداد Multibyte String لاستخدام WPML String Translation
  • امتداد SimpleXML لاستخدام ملفات XLIFF في WPML Translation Management.
  • يجب أن تكون وظيفة eval() PHP مُمكّنة. المزيد عن هذا تجده في القسم الخاص بوظيفة eval().
  • إصدار libxml PHP Module 2.7.8 أو أعلى

استخدام إصدارات أقدم من PHP و MySQL

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

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

كيفية التحقق من إصدار PHP المستخدم حاليًا

بعض شركات الاستضافة قامت بتثبيت PHP5 وPHP7. أفضل طريقة للتحقق من الإصدار الذي تستخدمه فعليًا هو أن تسأل معالج PHP نفسه (وليس المسؤول التقني في شركة الاستضافة).

أنشئ ملفًا يسمى php_info.php وضعه في دليل WordPress الخاص بك (إلى جوار wp-config.php). ينبغي أن يحتوي هذا الملف على ما يلي:
<?php phpinfo(); ?>

ليس مشكلة كبيرة، صحيح؟ إذا احتجت إلى ذلك، تفضل بتنزيله كملف بتنسيق ZIP. قم بتنزيل php_info.zip (وبالطبع ستحتاج إلى فك الضغط قبل رفع الملفات إلى خادمك).

ما أن تكون هناك، افتح مستعرض ويب واذهب إلى https://yourdomain.com/php_info.php .

يجب أن ترى شيئًا كهذا:

php-info.php يعرض إصدار PHP على الخادم
php-info.php يعرض إصدار PHP على الخادم

في الأعلى، يتم عرض إصدار PHP المستخدم. إذا رأيت أن الإصدار هو PHP Version 5.6 أو أدنى، فقد يعاني موقعك من مشكلات في تشغيل WPML. أفضل شيء تفعله هو أن تقوم بمراسلة شركة الاستضافة التابع لها وتطلب منهم تمكين PHP 7.0 أو أعلى.

بنية الارتباط الثابت

يقوم WPML بإضافة معلومات اللغة إلى روابط الإنترنت. تم اختبارها مع بنيات الارتباطات الثابتة التالية تم اختباره مع بنيات الارتباط الثابت التالية:

  • الافتراضي
  • /%year%/%monthnum%/%postname%/

الشرح:

قد تعمل بنيات الارتباط الثابت الأخرى أيضًا، ولكنها قد تتسبب في مشاكل عند اختلاف الإعدادات. في جميع مواقعنا نستخدم /%year%/%monthnum%/%postname%/.

بالنسبة للصفحات، ستحصل على نفس مسارات الإنترنت تمامًا كما في /%postname%/. إلا أنه مع بنية الارتباط الثابت هذه، لا يمكن أن يختلط الأمر على WordPress بين الصفحات والمقالات، وهو ما قد يتسبب في حدوث المشاكل المحتملة لعرض اللغة.

استخدام وظيفة eval()

يجب تمكين وظيفة eval() لأنّ WPML يستخدم إطار العمل TWIG في بنياته وقوالبه الجاهزة، وهو ما يجعل WPML يعتمد على هذه الوظيفة.

غالبية محركات القوالب الجاهزة الشائعة، مثل Smarty و TWIG، وجدت أنّ ذلك أسرع في كتابة كود PHP إلى ملف. بهذه الطريقة، يمكنك الاستفادة من تخزين OPcode المؤقت وتجنب الحاجة إلى إنشاء وقت تشغيل لكود القالب الجاهز.

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

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

يُرجى مراعاة أنّه عادة ما لا يمكن تعطيل وظيفة eval() في PHP، ولكنّ بعض الملحقات مثل Suhosin يمكنه فعل ذلك. قد تكون هذه الامتدادات مثبّتة وتم تكوين إعداداتها بواسطة مُقدم خدمة الاستضافة.