WPML
الحالة
محلولة

نظرة عامة على المشكلة

Iconv هي وحدة PHP مطلوبة لبعض ميزات WPML. افتراضياً، يتم تمكين هذه الوحدة عند تثبيت PHP على الخادم. ومع ذلك، قد يعطلها بعض مزودي الاستضافة.

https://www.php.net/manual/en/book.iconv.php

وبالتالي، إذا فعّلت WPML ولم تكن وحدة Iconv مفعّلة لديك، فسترى رسالة الخطأ التالية:

Fatal error: Uncaught Error: Call to undefined function SymfonyPolyfillMbstringiconv() in .../wp-content/plugins/sitepress-multilingual-cms/vendor/symfony/polyfill-mbstring/Mbstring.php:409

بالإضافة إلى ذلك، قد تواجه خطأً كهذا في WPML 4.3.16

Fatal error: Uncaught Error: Class 'Normalizer' not found in .../wp-content/plugins/sitepress-multilingual-cms/vendor/symfony/polyfill-iconv/Iconv.php:689

حل بديل مؤقت

يعمل مطورونا على حل هذه المشكلة تلقائياً في إصداراتنا القادمة من WPML ولكننا نوصيك بما يلي:


  • الاستضافة المدارة باحترافية: اتصل بمزود الاستضافة الخاص بك واطلب تثبيت وتمكين وحدة PHP iconv ووحدة PHP intl.

  • الاستضافة المدارة ذاتياً: يبدو أن إعادة تثبيت PHP أو تحديثه أو إعادة تجميعه هو الخيار الأسهل إذا لم يتم تثبيت وحدة iconv مطلقاً.
    يرجى التأكد من عدم تجميع PHP باستخدام «–without-iconv».

  • ثبّت أو مكّن وحدة PHP intl

بمجرد تمكين iconv، ستجد الجدول التالي في phpinfo الخاص بك:

تأكد أيضاً من تمكين وحدة PHP intl

جميع المشاكل المعروفة →