致命错误:找不到类“NumberFormatter”

新手上路,请多包涵

多年来,我一直在使用完全相同的代码,但从未遇到过任何问题。现在它突然停止工作了。

我已经在互联网上阅读过有关此问题的信息,显然您需要安装 PHP 5.3 or higher 并安装 PHP intl 插件。我有这两个,但每当我使用以下函数时,我仍然收到 Fatal error: Class 'NumberFormatter' not found 错误:

 function format_item($value)
{
       $format = new \NumberFormatter('en_US', \NumberFormatter::CURRENCY);
       return $format->formatCurrency($value, 'AUD');
}

另外,这是我的 php.ini 文件中的一个片段,显示我安装了 PHP intl 插件:

 [intl]
intl.default_locale = fr_FR
; This directive allows you to produce PHP errors when some error
; happens within intl functions. The value is the level of the error produced.
; Default is 0, which does not produce any errors.
intl.error_level = E_WARNING

我的 extension=php_intl.dll php.ini ,它也在我的目录中。

为什么我会收到此错误?

原文由 cannatown 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 622
2 个回答

这似乎是一个非常奇怪的问题,我通过执行以下操作以某种方式解决了它:

我通过 教程在 Wamp 中升级了我的 PHP。我还在 php.ini 当我升级时它不起作用,所以我恢复到我以前的 PHP 版本,瞧——它起作用了。

我完全不知道这是如何解决问题的,但它对我有用。

原文由 cannatown 发布,翻译遵循 CC BY-SA 3.0 许可协议

(Ubuntu 20.04.3 LTS,PHP 版本 7.4.30)

 sudo apt-get install php7.4-intl
sudo service nginx restart

原文由 Sanaulla 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题