要启用扩展,请验证它们是不是已在这些 .ini 文件中启用 - Vagrant/Ubuntu/Magento 2.0.2

Posted

技术标签:

【中文标题】要启用扩展,请验证它们是不是已在这些 .ini 文件中启用 - Vagrant/Ubuntu/Magento 2.0.2【英文标题】:To enable extensions, verify that they are enabled in those .ini files - Vagrant/Ubuntu/Magento 2.0.2要启用扩展,请验证它们是否已在这些 .ini 文件中启用 - Vagrant/Ubuntu/Magento 2.0.2 【发布时间】:2016-06-19 07:53:45 【问题描述】:

通过 composer 安装 Magento 2.0.2 时出现此错误:

Problem 1
 - Installation request for magento/product-enterprise-edition 2.0.2 -> satisfiable by magento/product-enterprise-edition[2.0.2].
 - magento/product-enterprise-edition 2.0.2 requires ext-gd * -> the requested php extension gd is missing from your system.

To enable extensions, verify that they are enabled in those .ini files:

- /etc/php5/cli/php.ini
- /etc/php5/cli/conf.d/05-opcache.ini
- /etc/php5/cli/conf.d/10-pdo.ini
- /etc/php5/cli/conf.d/20-curl.ini
- /etc/php5/cli/conf.d/20-imap.ini
- /etc/php5/cli/conf.d/20-json.ini
- /etc/php5/cli/conf.d/20-mcrypt.ini
- /etc/php5/cli/conf.d/20-pdo_pgsql.ini
- /etc/php5/cli/conf.d/20-pgsql.ini
- /etc/php5/cli/conf.d/20-pspell.ini
- /etc/php5/cli/conf.d/20-readline.ini

You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

我已经安装了php5-cli、php5-curl。

【问题讨论】:

您尝试过什么解决问题的方法?关于该输出有什么不清楚的地方吗? 【参考方案1】:

首先安装sudo apt-get install php5-gd,然后是sudo apt-get install php5-intl,最后一个是sudo apt-get install php5-xsl。 之后,它就可以正常安装了。

【讨论】:

如果您有最新版本的 php,您必须使用 apt-cache search php7-* 查找软件包并在之后安装。就我而言,php7 候选人是:php7.2-gdphp7.2-intlphp7.2-xsl 这帮了我***.com/a/46058582/8090905 这两个命令对我有用:sudo apt-get install php-zipsudo apt-get install php-mbstring【参考方案2】:

这解决了我的问题

sudo apt-get install php7.1-xml

或更新版本(* = 您的 php 版本)

sudo apt-get install php7.*-xml

【讨论】:

对我来说:sudo apt-get install php7.2-xml 如果缺少 GD 扩展,如何安装 XML 扩展? 运行这个,以后不用头疼了:sudo apt-get install php7.*-xml sudo apt-get install php7.4-xml 是我在使用composer安装phpunit9之前需要做的事情 TL 的 B/c;DR 我跳到了@DwayneWalsh 上,因为这是实际答案中写的【参考方案3】:

尝试了很多次,上面的答案并没有解决我的问题,但是这个命令帮助了我:

sudo apt-get install php-mbstring

【讨论】:

有时在堆栈溢出中回答列表很棒!问题已解决,谢谢【参考方案4】:

ubuntu 用户试试这个

apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap php-xdebug php-imagick

这适用于 php 7.2,但您可以将此 7.2 更改为 5.2 并运行此命令 这是工作。

【讨论】:

谢谢。它节省了我的时间。【参考方案5】:

我去创建一个laravel项目的时候遇到了这个问题。

谷歌搜索后,我得到了这个解决方案。

我按照以下步骤操作:

第一步:sudo apt-get install -y php7.2-gd

第二步:sudo apt-get install php7.2-intl

第三步:sudo apt-get install php7.2-xsl

第四步:sudo apt-get install php7.2-mbstring

【讨论】:

【参考方案6】:

这个命令可以解决问题

sudo apt-get install php5-curl

【讨论】:

欢迎来到 Stack Overflow!虽然此代码可能会回答问题,但提供有关 如何 和/或 为什么 解决问题的附加上下文将提高​​答案的长期价值。提及为什么这个答案比之前建议的答案更合适也没有什么坏处。【参考方案7】:

首次安装

sudo apt-get install php5-gd

然后

sudo apt-get install php5-intl

最后一个是

sudo apt-get install php5-xsl

之后,它会按原样安装。

【讨论】:

我做了同样的事情,用 php7.2 替换了 php5,它就像一个魅力 我做了同样的事情,用 php7.2 替换了 php5,它就像一个魅力【参考方案8】:

@Verse 答案工作正常。但是有一点我想补充一点。 而不是安装php5-mbstringphp5-gdphp5-intlphp5-xsl。此答案基于@Regolith 答案:Package has no installation candidate。

根据你的php-version安装。

首先通过 sudo php -v 查看你的 php 版本。我有php7所以结果是:

PHP 7.0.28-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
   with Zend OPcache v7.0.28-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

由于我有 php7,我将执行以下操作来列出 php 包:sudo apt-cache search php7-*

这个返回

libapache2-mod-php7.0 - server-side, html-embedded scripting language (Apache 2 module)
php-all-dev - package depending on all supported PHP development packages
php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-common - documentation, examples and common module for PHP
php7.0-curl - CURL module for PHP
php7.0-dev - Files for PHP7.0 module development
php7.0-gd - GD module for PHP
php7.0-gmp - GMP module for PHP
php7.0-json - JSON module for PHP
php7.0-ldap - LDAP module for PHP
php7.0-mysql - MySQL module for PHP
php7.0-odbc - ODBC module for PHP
php7.0-opcache - Zend OpCache module for PHP
php7.0-pgsql - PostgreSQL module for PHP
php7.0-pspell - pspell module for PHP
php7.0-readline - readline module for PHP
php7.0-recode - recode module for PHP
php7.0-snmp - SNMP module for PHP
php7.0-sqlite3 - SQLite3 module for PHP
php7.0-tidy - tidy module for PHP
php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.0-xmlrpc - XMLRPC-EPI module for PHP
libphp7.0-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.0-bcmath - Bcmath module for PHP
php7.0-bz2 - bzip2 module for PHP
php7.0-enchant - Enchant module for PHP
php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.0-imap - IMAP module for PHP
php7.0-interbase - Interbase module for PHP
php7.0-intl - Internationalisation module for PHP
php7.0-mbstring - MBSTRING module for PHP
php7.0-mcrypt - libmcrypt module for PHP
php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.0-soap - SOAP module for PHP
php7.0-sybase - Sybase module for PHP
php7.0-xsl - XSL module for PHP (dummy)
php7.0-zip - Zip module for PHP
php7.0-dba - DBA module for PHP

现在要安装包,使用您想要的包运行以下命令

sudo apt-get install -y php7.0-gd, php7.0-intl, php7.0-xsl, php7.0-mbstring

注意php7.0-mbstringphp7.0-gdphp7.0-intlphp7.0-xsl是上面列出的包。

更新: 别忘了重启apache/<your_server>

sudo service apache2 reload

【讨论】:

【参考方案9】:

这是我尝试在全新的 WSL 安装上安装 Laravel 时的解决方法:

sudo apt-get install php7.2-gd

sudo apt-get install php7.2-intl

sudo apt-get install php7.2-xsl

sudo apt-get install php7.2-zip

【讨论】:

【参考方案10】:

更新....对于 ubuntu 用户

sudo apt-get install libapache2-mod-php php-common php-gd php-mysql php-curl php-intl php-xsl php-mbstring php-zip php-bcmath php-soap php-xdebug php-imagick

【讨论】:

【参考方案11】:

在 Ubuntu 16.04 上,php7 现在是默认设置,因此如果您遵循最重要的答案但仍然遇到此问题,请检查您的 php 版本。

php --version

如果你的默认php版本是php7,但是你使用php5包遵循了一个答案,你可以使用以下命令将php的默认版本设置为php5.6:

sudo update-alternatives --set php $(which php5.6)

【讨论】:

【参考方案12】:

扩展的确切名称取决于您从中获取 PHP 的存储库,但请查看 here。例如在 CentOS 上:

yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring php56w-bcmath

【讨论】:

我做了 sudo apt-get -y install php5 php5-mhash php5-mcrypt php5-curl php5-cli php5-mysql php5-gd php5-intl php5-xsl php5-bcmath。无法找到包 php5-bcmath php5-bcmath 可能内置在某些系统上。尝试从您的安装命令中排除它,然后检查它是否已安装。【参考方案13】:

我用下面来解决问题

yum install -y php-intl php-xsl php-opcache php-xml php-mcrypt php-gd php-devel php-mysql php-mbstring php-bcmath

【讨论】:

【参考方案14】:

对我来说

sudo apt-get install php5-mcrypt 

解决了问题

【讨论】:

【参考方案15】:

类似情况:

/etc/php/7.3/cli/php.ini /etc/php/7.3/cli/conf.d/10-mysqlnd.ini /etc/php/7.3/cli/conf.d/10-opcache.ini /etc/php/7.3/cli/conf.d/10-pdo.ini /etc/php/7.3/cli/conf.d/20-calendar.ini /etc/php/7.3/cli/conf.d/20-ctype.ini /etc/php/7.3/cli/conf.d/20-exif.ini /etc/php/7.3/cli/conf.d/20-fileinfo.ini /etc/php/7.3/cli/conf.d/20-ftp.ini /etc/php/7.3/cli/conf.d/20-gettext.ini /etc/php/7.3/cli/conf.d/20-iconv.ini /etc/php/7.3/cli/conf.d/20-json.ini /etc/php/7.3/cli/conf.d/20-mbstring.ini /etc/php/7.3/cli/conf.d/20-mysqli.ini /etc/php/7.3/cli/conf.d/20-pdo_mysql.ini /etc/php/7.3/cli/conf.d/20-phar.ini /etc/php/7.3/cli/conf.d/20-posix.ini /etc/php/7.3/cli/conf.d/20-readline.ini /etc/php/7.3/cli/conf.d/20-shmop.ini /etc/php/7.3/cli/conf.d/20-sockets.ini /etc/php/7.3/cli/conf.d/20-sysvmsg.ini /etc/php/7.3/cli/conf.d/20-sysvsem.ini /etc/php/7.3/cli/conf.d/20-sysvshm.ini /etc/php/7.3/cli/conf.d/20-tokenizer.ini

已解决:

apt-get install php-dom
apt-get install php-mbstring

【讨论】:

【参考方案16】:

在看到一些声称“成功”的答案(包括已接受的答案)后,将在此处发布此答案。首先,我们需要在修复之前确定问题。

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

正如上面一行明确指出的,我们需要安装扩展 php-gd。

所以,我们可以使用sudo apt install php<version>-gd,它应该会修复此错误,除非系统需要更多扩展,而这恰好是相关系统中的确切情况。它需要更多的扩展 php-intl 和 php-xsl。 因此,让它成为 mbstring 或 mcrypt,您应该安装系统缺少的任何扩展。你怎么能找到丢失的东西?只需阅读错误消息,它就在那里。

【讨论】:

【参考方案17】:

它帮助我安装了正确的 curl 版本

sudo apt-get install php5-curl

【讨论】:

【参考方案18】:

安装 PHP 扩展:

sudo apt-get install -y php-gd

sudo apt-get install -y php-intl

sudo apt-get install -y php-xsl

sudo apt-get install -y php-mbstring

【讨论】:

【参考方案19】:
    在任何编辑器中打开 xampp/php/php.ini 文件 搜索“;extension=php_intl.dll” 删除开头的分号 ( ; )

喜欢: ;extension=php_intl.dllextension=php_intl.dll

这对我有帮助。

【讨论】:

"magento/product-enterprise-edition 2.0.2 requires ext-gd" - 你的回答如何解决这个问题?【参考方案20】:

我按照以下步骤操作:

步骤1:sudo apt-get install php5-gd

步骤2:sudo apt-get install php5-intl

步骤3:sudo apt-get install php5-xsl

之后,它会按原样安装。

【讨论】:

请在您的答案中添加一些解释,以便其他人可以从中学习。如果应用程序需要ext-gd,您的命令可能会在安装过程中解决问题,但不会在该应用程序运行时解决问题

以上是关于要启用扩展,请验证它们是不是已在这些 .ini 文件中启用 - Vagrant/Ubuntu/Magento 2.0.2的主要内容,如果未能解决你的问题,请参考以下文章

要启用扩展,请确认它们已在您的 .ini 文件中启用 - 使用 XAMPP 的 Windows

如何修复wordpress中丢失的传输错误?

如何以编程方式启用php扩展intl

如何动态启用 SOAP、CURL、OPENSSL 扩展?

安装并启用 intl 扩展(用于验证器)。 - MAC(Prestashop)

验证 iphone 是不是已连接到扩展坞