Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to solve the issue - please install the "intl" extension for full localization capabilities

Tags:

php

symfony

intl

What i Need

  • I'm implementing currency symbol using symfony.
  • I have referred this link : http://symfony.com/doc/current/components/intl.html.

The code i have implemented:

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');
              

Error:

The Symfony\Component\Intl\Locale\Locale::setDefault() is not implemented. Please install the "intl" extension for full localization capabilities.

500 Internal Server Error - MethodNotImplementedException

OS configuration:

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/"
  • I have referred this link for intln installation http://php.net/manual/en/intl.setup.php.
like image 828
user2818060 Avatar asked Oct 28 '14 07:10

user2818060


People also ask

How do I enable PHP extensions in Windows?

On Windows, you have two ways to load a PHP extension: either compile it into PHP, or load the DLL. Loading a pre-compiled extension is the easiest and preferred way. To load an extension, you need to have it available as a ". dll" file on your system.


4 Answers

UPDATED for new versions of PHP:

You can install intl extension for your current php version by this command:

sudo apt-get install php-intl

If you need to install php-intl not only for current selected PHP-version you can pass php version right after php word:

sudo apt-get install php7.4-intl    # for PHP version 7.4
sudo apt-get install php8.1-intl    # for PHP version 8.1

If you use Apache server with mod_php don't forget to restart it:

sudo apachectl restart

Original Answer

You need just put one line to the terminal:

sudo apt-get install php5-intl
like image 99
Michael Sivolobov Avatar answered Nov 15 '22 21:11

Michael Sivolobov


Extending the Answer by Michael Sivolobov, for php7 on debian 9 /stretch

sudo apt-get install php7.0-intl

or simply

sudo apt-get install php-intl

then

sudo service apache2 restart

Thanks!

like image 29
Azhar Khattak Avatar answered Nov 15 '22 23:11

Azhar Khattak


If you are using XAMPP on windows here is how:

open for example c:\xampp\php\php.ini and remove the semi colon ";" in front of "extension=php_intl.dll" save the file and restart apache.

That will get solve the error message.

Done.

like image 34
Dung Avatar answered Nov 15 '22 23:11

Dung


When I tried to install intl on Ubuntu 16.04 with:

sudo apt-get install php5-intl

I've got an error like:

error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works. ERROR: `/tmp/pear/temp/intl/configure --with-php-config=/usr/bin/php-config --with-icu-dir=DEFAULT' failed

In order to solve the problem I needed to install:

sudo apt-get install libicu-dev

and after that install

sudo apt-get install php5-intl

That solved my problem.

like image 2
Evgeny Melnikov Avatar answered Nov 15 '22 22:11

Evgeny Melnikov