- Статус
- Решено
Обзор проблемы
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