繁体   English   中英

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

[英]The requested PHP extension intl is missing from your system (SonataAdminBundle) in Symfony2

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

使用包信息加载 Composer 存储库 从锁定文件安装依赖项 您的要求无法解析为一组可安装的包。

问题一

- 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.`

问题二

- 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.

Linux用户

yum install php-intl

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

我将所有icu*文件从 php 目录复制到 Appache 目录,并且它工作正常。

PHP目录:

WAMP\\bin\\php\\php5.5.12

应用目录:

WAMP\\bin\\apache\\apache2.4.9

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

扩展=ext/php_intl.dll

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

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

编辑:请注意,如果您使用 wamp 或类似的东西,您应该意识到 wamp 配置中的 php.ini 文件不一定是 Composer 使用的文件。

首先确保您的服务器是 isung x86 构建(intl 不适用于 x64),然后:

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

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

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

我不知道你的路径是哪一个。 只需确保在它们两个中添加扩展名即可消除任何疑问。

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

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

通过运行以下命令:

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

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

它对我有用!

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

sudo apt-get install php-intl

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM