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

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

استخدام إصدارات أقدم من 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.5، فلن يعمل. أفضل شيء ينبغي فعله، هو أن تتواصل مع شركة الاستضافة وتسألهم عن كيفية تمكين PHP 5.6 أو أعلى.

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

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

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

الشرح:

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

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

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

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

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

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

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

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