Что мне нужно
Код, который я реализовал:
use Symfony\Component\Intl\Intl; \Locale::setDefault('en'); $currencies = Intl::getCurrencyBundle()->getCurrencyNames(); $currency = Intl::getCurrencyBundle()->getCurrencyName('INR'); $symbol = Intl::getCurrencyBundle()->getCurrencySymbol('INR'); $fractionDigits = Intl::getCurrencyBundle()->getFractionDigits('INR'); $roundingIncrement = Intl::getCurrencyBundle()->getRoundingIncrement('INR');
Ошибка:
Symfony \ Component \ Intl \ Locale \ Locale :: setDefault () не реализован. Пожалуйста, установите расширение «intl» для полной возможности локализации.
500 Внутренняя ошибка сервера – MethodNotImplementedException
Конфигурация ОС:
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=13.04 DISTRIB_CODENAME=raring DISTRIB_DESCRIPTION="Ubuntu 13.04" NAME="Ubuntu" VERSION="13.04, Raring Ringtail" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 13.04" VERSION_ID="13.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
Вам нужно просто поместить одну строку в терминал:
sudo apt-get install php5-intl
Когда я попытался установить intl на Ubuntu 16.04 с:
sudo apt-get install php5-intl
У меня ошибка:
error: Не удалось обнаружить префикс ICU или нет. Пожалуйста, проверьте префикс установки ICU и убедитесь, что icu-config работает. ERROR: `/ tmp / pear / temp / intl / configure –with-php-config = / usr / bin / php-config –with-icu-dir = DEFAULT 'не удалось
Чтобы решить проблему, мне нужно было установить:
sudo apt-get install libicu-dev
и после этого установите
sudo apt-get install php5-intl
Это решило мою проблему.
Если вы используете XAMPP на окнах, вот как это сделать:
откройте, например, c: \ xampp \ php \ php.ini и удалите полуплотность ";" перед «extension = php_intl.dll» сохраните файл и перезапустите apache.
Это решит сообщение об ошибке.
Готово.