Класс ‘NumberFormatter’ не найден в простой программе PHP

У меня есть простая программа 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>

4

Решение

Две вещи

  1. Вам нужен PHP 5.3 или выше.

  2. Вы можете не иметь php-intl расширение установлено.

Чтобы проверить, запустите в своем терминале:

php -m | grep intl

Если нет результатов, вам нужно установить его, который зависит от вашей системы и версии PHP

Например, на Mac вы можете установить его для PHP 5.6, запустив:

brew install php56-intl

Убедитесь, что вы перезапустите свой веб-сервер после установки!

РЕДАКТИРОВАТЬ для XAMPP:

Если вы используете XAMPP, то, вероятно, он установлен, но не включен.

  1. Найди свой php.ini файл — путь к вашему xampp / php / php.ini — и откройте его в редакторе.

  2. Ищи php_intl, Если ты найдешь ;extension=php_intl.dll, а затем просто удалите точку с запятой в начале строки — это раскомментирует его.

  3. Перезапустите XAMPP!

12

Другие решения

Как уже говорилось, вы должны иметь PHP 5> = 5.3.0 версия и если вы уже раскомментируйте ;extension=php_intl.dll от php.ini файл и до сих пор не работает ..
попробуйте взглянуть на этот ответ. это действительно решит мою проблему.

расширение int php_intl.dll с wamp

0

По вопросам рекламы [email protected]