Class 'NumberFormatter' not found error in

2019-02-18 03:26发布

I have a simple PHP program but I am encountering this error:

Class 'NumberFormatter' not found

I have researched similar issues in Stackoverflow but honestly none gave a concrete solution. Others suggest to upgrade the version of PHP, others un-comment a specific line in the php.ini file and none of those worked for me.

Below is my code: I even used the suggested solution from https://bugs.php.net but it still doesn't work.

<!DOCTYPE html>
<html>
<body>

<?php
function writeMsg(){

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

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

</body>
</html>

2条回答
爷、活的狠高调
2楼-- · 2019-02-18 04:16

As stated, you should have PHP 5 >= 5.3.0 version and if you already uncomment ;extension=php_intl.dll from php.ini file and still not working.. try to take a look at this answer. it really solve my problem.

intl extension php_intl.dll with wamp

查看更多
霸刀☆藐视天下
3楼-- · 2019-02-18 04:22

Two things

  1. You need PHP 5.3 or above.

  2. You may not have the php-intl extension installed.

To check, run in your terminal:

php -m | grep intl

If there's no results, you'll need to install it which varies depending on your system and PHP Version

On a Mac for example, you can install it for PHP 5.6 by running:

brew install php56-intl

Make sure you restart your web server after you install!

EDIT for XAMPP:

If you're running XAMPP, then this is probably installed but not enabled.

  1. Find your php.ini file -- path-to-your-xampp/php/php.ini -- and open it in an editor.

  2. Search for php_intl. If you find ;extension=php_intl.dll, then just remove the semi-colon from the front of the line -- this uncomments it.

  3. Restart XAMPP!

查看更多
登录 后发表回答