首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Composer安装Symfony 2.3.x时lib-icu依赖性问题?

Composer安装Symfony 2.3.x时lib-icu依赖性问题?
EN

Stack Overflow用户
提问于 2018-03-26 05:02:47
回答 2查看 0关注 0票数 0

我错过了提供lib-icuphp intl扩展

如此简单,请安装并配置intl扩展。从PHP 5.3开始,默认情况下,Intl扩展是分布式的,但是像MAMP这样的一些分布没有Intl,因此您需要获取它。我用

我的步骤:

  • 安装Intl扩展(由PECL维护):$ pear install pecl/intl- 您可能必须先将pecl通道添加到梨。
  • 如果你使用MAMP MAMP不附带php源代码,因此你必须下载PHP版本的源代码并将源代码移入/Applications/MAMP/bin/php/php[version]/include/php(如在博客文章中所述)
  • PEAR找不到我的php.ini,所以我不得不手动添加extension=intl.so到php.ini中。在MAMP中,您可以轻松编辑php.ini,方法是转到文件>编辑模板> php。[version] .ini

命令行:

  • 当使用Composer或Symfony的控制台CLI时,您还需要Intl,因为phpCLI通常使用不同的命令,所以您也需要php.ini在其中添加扩展指令。要找到CLI的php.ini,只需$ php -i |grep php\.ini发现文件路径并添加extension=intl.so到该php.ini。
  • 要检查是否安装了Intl,您可以$ php -m检查可用的模块。
EN

回答 2

Stack Overflow用户

发布于 2018-03-26 13:57:00

更新你的php-intl扩展,这就是icu错误来自哪里!

sudo aptitude install php5-intl                 // i.e. ubuntu
brew install icu4c                              // osx

检查扩展是否启用,并在php.ini中正确配置。

(提示:php-cli有时使用不同的php.ini)

php.ini中

extension=intl.so       ; *nix
extension=php_intl.dll  ; windows

[intl]
intl.default_locale = en_utf8
intl.error_level = E_WARNING

如果扩展功能已成功启用,请检查您的终端上的phpinfo()AND php -m

使用以下命令从php检查当前的intl版本:

Intl::getIcuVersion();
Intl::getIcuDataVersion();
票数 0
EN

Stack Overflow用户

发布于 2018-03-26 14:47:58

许多应用程序只支持“en”语言环境,并且不需要翻译功能或php-intl。如果这是你,或者你不能在服务器上安装PHP-国际机场,你可以明确地添加的symfony / ICU〜1.0到你composer.json。1.0不需要php-intl,而1.1+可以。

如果你不需要翻译功能:

$ php bin/composer.phar require symfony/icu ~1.0

如果没有这个声明并尝试安装symfony / symfony 2.3 Composer可能会尝试安装symfony / icu〜1.2,这会要求您安装php-intl。

这在Symfony Intl组件的文档 “ICU和部署问题”下面有更详细的介绍。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档