5

我有一个简单的 PHP 程序,但我遇到了这个错误:

找不到类“NumberFormatter”

我在 Stackoverflow 中研究过类似的问题,但老实说,没有一个给出具体的解决方案。其他人建议升级 PHP 的版本,其他人取消注释 php.ini 文件中的特定行,这些都不适合我。

下面是我的代码:我什至使用了来自https://bugs.php.net的建议解决方案,但它仍然不起作用。

<!DOCTYPE html>
<html>
<body>

<?php
function writeMsg(){

$f = new \NumberFormatter("en", \NumberFormatter::SPELLOUT);    

echo $f->format(1432);
}
writeMsg();
?>  

</body>
</html>
4

3 回答 3

16

两件事情

  1. 您需要 PHP 5.3 或更高版本。

  2. 您可能没有php-intl安装扩展。

要检查,请在终端中运行:

php -m | grep intl

如果没有结果,您需要安装它,具体取决于您的系统和 PHP 版本

例如,在 Mac 上,您可以通过运行以下命令为 PHP 5.6 安装它:

brew install php56-intl

确保在安装后重新启动 Web 服务器!

编辑 XAMPP:

如果您正在运行 XAMPP,那么它可能已安装但未启用。

  1. 找到您的php.ini文件 -- path-to-your-xampp/php/php.ini -- 并在编辑器中打开它。

  2. 搜索php_intl。如果您找到;extension=php_intl.dll,则只需从该行的前面删除分号 - 这将取消注释。

  3. 重启 XAMPP!

于 2015-11-23T17:15:05.430 回答
1

如前所述,您应该拥有PHP 5 >= 5.3.0版本,如果您已经;extension=php_intl.dllphp.ini文件中取消注释并且仍然无法正常工作。请尝试查看此答案。它真的解决了我的问题。

带 wamp 的国际扩展 php_intl.dll

于 2018-10-31T02:19:27.550 回答
1

你需要使用

use \NumberFormatter;

上面的代码

于 2021-03-13T17:46:29.190 回答