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

问题描述 投票:14回答:8

我尝试安装沙箱,但从作曲家收到以下错误:

使用包信息加载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.
php symfony intl
8个回答
9
投票

[我在安装新的Magento 2.0时遇到了相同的问题,经过不同的试用和试用,我设法按照以下步骤解决它:

我将所有icu *文件从php目录复制到Appache目录,并且有效。

Php目录:

WAMP \ bin \ php \ php5.5.12

Appache目录:

WAMP \ bin \ apache \ apache2.4.9

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

extension = ext / php_intl.dll


10
投票

Linux用户

yum install php-intl

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服务器。


8
投票

您需要按照错误提示在php中启用intl扩展名。在您的php.ini文件中,取消注释行extension=ext/php_intl.dll或类似的内容。

编辑:请注意,如果您使用的是wamp或类似工具,则应注意wamp配置中的php.ini文件不一定是作曲家使用的那个。


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

我不知道您的路径是哪一个。只要确保在两个扩展名中都添加了扩展名,就可以消除任何疑问。


3
投票

我在Mac OS X优胜美地上,并且已解决此错误


2
投票

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


0
投票

sudo apt-get install php-intl

© www.soinside.com 2019 - 2024. All rights reserved.