4

我在尝试使用Normalizer该类时收到此 PHP 错误,特别是Normalizer::normalize函数:

Fatal error: Class 'Normalizer' not found.

我目前使用的是 PHP 5.3.8,所以根据PHP 文档,它应该默认激活。我唯一能想到的是 PECL intl 扩展的问题。

我检查了php/ext/文件夹,并且在php_intl.dll那里。我检查了php.ini文件,没有extension=php_intl.dll命令,所以我添加了它。但仍然没有运气。除此之外我不知道。谁能告诉我这里到底发生了什么?

谢谢

附加信息:当我运行phpinfo时,没有提及 PECL intl 扩展,所以我猜它没有正确安装。

什么解决了我的问题:

http://www.tiv.net/2010/12/php-intl-extension-windows-apache.html,卸载 XAMPP 1.77(它有某种与 PECL intl 扩展有关的内部错误)并安装 XAMPP 1.73。

4

3 回答 3

3

引自http://pecl.php.net/package/intl

国际化扩展将 ICU 库的功能暴露给 PHP。

所有二进制文件都依赖于 ICU 库(4.8 版),PHP 必须可以使用这些库。

只需在 php.exe 所在的文件夹中下载并解压缩带有 ICU 库的 zip 内容,它就可以工作

ps:php_intl.dll 可以从同一位置下载(在描述中说“Windows 二进制文件”:)

于 2012-03-20T16:59:34.147 回答
1

左键单击 WAMP 托盘图标,转到 PHP,转到 PHP 扩展并检查 php_intl。比重新启动服务器。

因为 WAMP(server) 使用另一个设置文件,所以一切看起来都很好,而实际上却没有。

于 2011-12-21T23:42:38.373 回答
1

如果你在 ubuntu 上:

sudo apt install php-intl
于 2022-01-18T14:27:51.533 回答