WPML
ステータス
解決済み

問題の概要

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モジュールをインストールまたは有効化します
iconvが有効化されると、phpinfoに以下の表が表示されます。

PHPモジュールintlも必ず有効化してください。

すべての既知の問題 →