Symfony2中的系统(SonataAdminBundle)中缺少请求的PHP扩展intl

时间:2013-07-17 11:19:46

标签: php symfony intl

我尝试安装沙盒但是我从composer中得到以下错误:

  

使用包信息加载composer存储库安装   来自锁定文件的依赖关系您的要求无法解决   一套可安装的包裹。

问题1

- Installation request for sonata-project/intl-bundle 2.1.0 -> satisfiable by sonata-project/intl-bundle 2.1.0.`

- sonata-project/intl-bundle 2.1.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.`

问题2

- sonata-project/intl-bundle 2.1.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.`

- sonata-project/news-bundle 2.1.x-dev requires sonata-project/intl-bundle 2.1.* -> satisfiable by sonata-project/intl-bundle 2.1.0.
- Installation request for sonata-project/news-bundle 2.1.

8 个答案:

答案 0 :(得分:9)

就像@Hugehornet指出的那样 - 你应该通过取消注释这一行在php.ini中启用这个扩展:extension = ext / php_intl.dll

如果您使用wamp的界面执行此任务,您实际上正在更新位于apache目录中的php.ini文件。

示例:C:\ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini

Composer正在使用位于php安装目录中的那个。

示例:C:\ wamp \ bin \ php \ php5.4.12 \ php.ini

您应该手动编辑后者并重新启动wamp服务器。

答案 1 :(得分:9)

Linux用户

yum install php-intl

答案 2 :(得分:8)

你需要在php中启用intl扩展,就像错误所说的那样。 在您的php.ini文件中,取消注释行extension=ext/php_intl.dll或类似的内容。

编辑:请注意,如果你正在使用wamp或类似的东西,你应该知道wamp配置中的php.ini文件不一定是作曲家使用的那个。

答案 3 :(得分:8)

我在安装新的Magento 2.0时遇到了同样的问题,经过不同的点击和试验后,我按照以下步骤解决了这个问题:

我将所有 icu * 文件从php目录复制到Appache目录,然后就可以了。

Php direcotry:

  

WAMP \ BIN \ PHP中\ php5.5.12

Appache目录:

  

WAMP \ BIN \阿帕奇\ apache2.4.9

确保在php.ini文件中取消注释以下行:

  

延长= EXT / php_intl.dll

答案 4 :(得分:3)

首先要确保您的服务器是isung x86 build(intl不能使用x64),然后:

  • 直接在php.ini激活国际/地区扩展
  • 将所有icu*.dll表单php目录复制到apache目录
  • 确保您的控制台使用您刚刚配置的相同php文件夹 source

在我的Windows系统中,我在流动的路径上有两个php.ini个文件:

C:\wamp\bin\php\phpx.y.z
C:\wamp\bin\apache\Apachex.y.z\bin

我不知道哪一条在你的道路上。只需确保在两者中添加扩展名以消除任何疑问。

答案 5 :(得分:3)

我在Mac OS X Yosemite上,我修正了这个错误

  

系统中缺少所请求的PHP扩展名mcrypt

运行以下命令:

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt

答案 6 :(得分:2)

如果已经启用了intl并且它不起作用,请在Path环境变量中添加PHP目录,然后重新启动服务器。 (例如C:\ Program Files \ wamp \ bin \ php \ phpX.XXX.XXX for wamp)

它对我有用!

答案 7 :(得分:0)

在Ubuntu,Debian和相关的Linux发行版上

sudo apt-get install php-intl

以安装默认PHP版本的扩展。 对于其他版本,如果提供的版本正确,则apt-get install php7.3-intl之类的变体将选择正确的扩展名。