![](/img/trans.png)
[英]PHP | "The requested PHP extension bcmath is missing from your system."
[英]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目录 在我的 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.