У меня есть простая программа PHP, но я сталкиваюсь с этой ошибкой:
Класс NumberFormatter не найден
Я исследовал подобные проблемы в Stackoverflow, но, честно говоря, никто не дал конкретного решения. Другие предлагают обновить версию PHP, другие не комментируют определенную строку в файле php.ini, и ни один из них не работал для меня.
Ниже мой код: я даже использовал предложенное решение от https://bugs.php.net но это все еще не работает.
<!DOCTYPE html>
<html>
<body>
<?php
function writeMsg(){
$f = new \NumberFormatter("en", \NumberFormatter::SPELLOUT);
echo $f->format(1432);
}
writeMsg();
?>
</body>
</html>
Две вещи
Вам нужен PHP 5.3 или выше.
Вы можете не иметь php-intl
расширение установлено.
Чтобы проверить, запустите в своем терминале:
php -m | grep intl
Если нет результатов, вам нужно установить его, который зависит от вашей системы и версии PHP
Например, на Mac вы можете установить его для PHP 5.6, запустив:
brew install php56-intl
Убедитесь, что вы перезапустите свой веб-сервер после установки!
РЕДАКТИРОВАТЬ для XAMPP:
Если вы используете XAMPP, то, вероятно, он установлен, но не включен.
Найди свой php.ini
файл — путь к вашему xampp / php / php.ini — и откройте его в редакторе.
Ищи php_intl
, Если ты найдешь ;extension=php_intl.dll
, а затем просто удалите точку с запятой в начале строки — это раскомментирует его.
Перезапустите XAMPP!
Как уже говорилось, вы должны иметь PHP 5> = 5.3.0 версия и если вы уже раскомментируйте ;extension=php_intl.dll
от php.ini файл и до сих пор не работает ..
попробуйте взглянуть на этот ответ. это действительно решит мою проблему.