- الحالة
- محلولة
نظرة عامة على المشكلة
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