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

Kri*_*dke 12 php intl symfony

我尝试安装沙箱但是我从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.`
Run Code Online (Sandbox Code Playgroud)

问题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.
Run Code Online (Sandbox Code Playgroud)

ero*_*eev 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服务器.


Dha*_*ngh 9

Linux用户

yum install php-intl
Run Code Online (Sandbox Code Playgroud)

  • Ubuntu:`sudo apt-get install php5-intl` (4认同)
  • 自制软件:`brew install php55-intl` (3认同)
  • 在Ubuntu 16.04上使用sudo apt-get install php-intl (2认同)

小智 8

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

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


小智 8

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

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

Php direcotry:

WAMP\BIN\PHP\php5.5.12

Appache目录:

WAMP\BIN\apache的\ apache2.4.9

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

延长= EXT/php_intl.dll