如何解决问题 - 请安装“intl”扩展以获得完整的本地化功能

Posted

技术标签:

【中文标题】如何解决问题 - 请安装“intl”扩展以获得完整的本地化功能【英文标题】:How to solve the issue - please install the "intl" extension for full localization capabilities 【发布时间】:2014-12-23 12:55:15 【问题描述】:

我需要什么

我正在使用 symfony 实现货币符号。 我已经引用了这个链接:http://symfony.com/doc/current/components/intl.html

我已经实现的代码:

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/"
我已将此链接用于 intln 安装http://php.net/manual/en/intl.setup.php。

【问题讨论】:

你运行什么操作系统(如果是 linux,请告诉我们发行版)? 我已经更新了配置 对于 Windows 操作系统:请在此处查看我的回答 ***.com/a/49730747/1005741 【参考方案1】:

打开 XAMPP 服务器。 点击 Apache config 按钮 并打开php.ini 文件。 php.ini下文件搜索intl 并取消注释。 并重新启动服务器。 希望这会有所帮助。

【讨论】:

【参考方案2】:

通过Michael Sivolobov 扩展答案,用于debian 9 /stretch 上的php7

sudo apt-get install php7.0-intl

或者干脆

sudo apt-get install php-intl

然后

sudo service apache2 restart

谢谢!

【讨论】:

【参考方案3】:

如果您在 Windows 上使用 XAMPP,方法如下:

例如打开 c:\xampp\php\php.ini 并删除分号“;”在“extension=php_intl.dll”前面保存文件并重启apache。

这将得到解决错误信息。

完成。

【讨论】:

【参考方案4】:

当我尝试在 Ubuntu 16.04 上安装 intl 时:

sudo apt-get install php5-intl

我遇到如下错误:

错误:无法检测到 ICU 前缀或没有失败。请确认ICU 安装前缀并确保 icu-config 有效。错误: `/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

这解决了我的问题。

【讨论】:

【参考方案5】:

你只需要在终端输入一行:

sudo apt-get install php5-intl

【讨论】:

正在读取包列表...完成构建依赖关系树读取状态信息...完成E:无法找到包php5-intl 尝试sudo apt-get install libicu48,然后再次安装intl bts@bts:~$ sudo apt-get install libicu48 [sudo] password for bts: Reading package lists... Done Building dependency tree Reading state information... Done libicu48 已经是最新版本.以下软件包已自动安装且不再需要: kde-l10n-engb 使用 'apt-get autoremove' 将其删除。 0 升级,0 新安装,0 删除,0 未升级。 bts@bts:~$ sudo apt-get install php5-intl Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package php5-intl 好的。尝试更多手动操作:pear channel-update pear.php.netpear upgrade PEARpecl channel-update pecl.php.netpear install intl bts@bts:~$ pear channel-update pear.php.net PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php5/20100525+lfs/imap.so' - /usr/lib/php5/20100525+lfs/imap.so:无法打开共享对象文件:在第 0 行的未知中没有这样的文件或目录更新频道“pear.php.net”频道“pear.php.net”是最新的

以上是关于如何解决问题 - 请安装“intl”扩展以获得完整的本地化功能的主要内容,如果未能解决你的问题,请参考以下文章

安装 PHP 7 后如何安装/启用 intl 和 xsl 扩展

如何在 CentOS 上安装 PHP intl 扩展?

phpstudy启用php_intl之后发生“计算机中丢失*.dll”错误的解决方法

如何以编程方式启用php扩展intl

在 Mac 上的 XAMPP 上安装 PHP 国际化扩展 (Intl)

本次安装Visual Studio 所用的安装程序不完整。请重新运行VisualStudio安装程序以解决此问题