- 状态
- 已解决
问题概述
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