问题
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>
回答1:
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!
回答2:
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
来源:https://stackoverflow.com/questions/33876590/class-numberformatter-not-found-error-in-simple-php-program