Class 'NumberFormatter' 在简单的 PHP 程序中找不到错误

Class 'NumberFormatter' not found error in simple PHP program

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

Class 'NumberFormatter' not found

我在 Whosebug 中研究过类似的问题,但老实说 none 给出了具体的解决方案。其他人建议升级 PHP 的版本,其他人则取消注释 php.ini 文件中的特定行,而 none 对我有用。

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

<!DOCTYPE html>
<html>
<body>

<?php
function writeMsg(){

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

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

</body>
</html>

两件事

  1. 您需要 PHP 5.3 或以上。

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

要检查,运行 在您的终端中:

php -m | grep intl

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

例如,在 Mac 上,您可以通过 运行ning 为 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!

如前所述,您应该拥有 PHP 5 >= 5.3.0 版本,并且如果您已经从 [ 中取消注释 ;extension=php_intl.dll =20=] 文件,但仍然无法正常工作.. 试着看看这个答案。它真的解决了我的问题。

intl extension php_intl.dll with wamp

你需要使用

use \NumberFormatter;

以上代码