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>
Two things
You need PHP 5.3 or above.
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.
Find your php.ini
file -- path-to-your-xampp/php/php.ini -- and open it in an editor.
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.
Restart XAMPP!