如何解决问题 - 请安装“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.net
pear upgrade PEAR
pecl channel-update pecl.php.net
pear 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 扩展
phpstudy启用php_intl之后发生“计算机中丢失*.dll”错误的解决方法