- ステータス
- 解決済み
問題の概要
Iconvは、WPMLのいくつかの機能に必須のPHPモジュールです。デフォルトでは、このモジュールはサーバーに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のインストールと有効化を依頼してください。
- セルフマネージドホスティング:
iconvモジュールが一度もインストールされていない場合、PHPの再インストール、アップデート、または再コンパイルが最も簡単なオプションです。
「–without-iconv」を使用してPHPをコンパイルしないようにしてください。 - intl PHPモジュールをインストールまたは有効化します
PHPモジュールintlも必ず有効化してください。