Faltam extensões PHP do Magento 2

10

Estou tentando configurar uma nova caixa vagrant para o desenvolvimento do Magento 2, no entanto, ao executar composer install, recebo os seguintes erros:

Problem 1
    - The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension.
  Problem 2
    - The requested PHP extension ext-mcrypt * is missing from your system. Install or enable PHP's mcrypt extension.
  Problem 3
    - The requested PHP extension ext-curl * is missing from your system. Install or enable PHP's curl extension.
  Problem 4
    - The requested PHP extension ext-intl * is missing from your system. Install or enable PHP's intl extension.
  Problem 5
    - The requested PHP extension ext-xsl * is missing from your system. Install or enable PHP's xsl extension.
  Problem 6
    - The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.
  Problem 7
    - The requested PHP extension ext-openssl * is missing from your system. Install or enable PHP's openssl extension.
  Problem 8
    - The requested PHP extension ext-zip * is missing from your system. Install or enable PHP's zip extension.

Eu já tentei instalar cada uma dessas extensões usando sudo apt-get install php7.0-mcryptetc, no entanto, ainda estou recebendo os erros acima, afirmando que as extensões que eu instalei ainda estão ausentes. Eu reiniciei o Apache2. Alguma ideia?

PHP -v

PHP 7.0.8 (cli) (built: Jun 26 2016 15:14:18) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

insira a descrição da imagem aqui

wickywills
fonte
Após a instalação, você reiniciou o php-fpm / apache / nginx. Em segundo lugar você tem certeza que "web" está usando PHP 7, faça uma <?php phpinfo(); página para verificar e confirmar o que o que é
Barry Carlyon
@ BarryCarlyon Pergunta atualizada com uma captura de tela - entre em contato se precisar de mais informações. Como garantir que "web" esteja usando PHP7?
wickywills
você pode executar php -me ver qual lista de extensões instaladas você obtém como saída.
Atish Goswami
Não vejo nada de "errado", por isso não sei por que o Magento está reivindicando que os módulos não estão instalados. O PHPinfo deu a saída correta, confirmando que está no php7 e que possui esses módulos instalados.
Barry Carlyon

Respostas:

27

Antes de instalar o Magento 2, verifique se o seu sistema atende ou excede os seguintes requisitos:

Extensões PHP necessárias:

  • DOP / MySQL
  • mbstring
  • mcrypt
  • mhash
  • simplexml
  • ondulação
  • gd2, ImageMagick 6.3.7 (ou posterior) ou ambos
  • Sabonete

Mas para o php 7.0 você deve usar os próximos comandos:

sudo apt-get update

sudo apt-get install php7.0-gd php7.0-mcrypt php7.0-curl php7.0-intl php7.0-xsl php7.0-mbstring php7.0-openssl php7.0-zip php7.0-soap

sudo service apache2 restart

NOTA:

Use isto para o openSUSE:

zypper install php7-gd php7-mcrypt php7-curl php7-intl php7-xsl php7-mbstring php7-openssl php7-zip php7-soap
Vadym Kalin
fonte
11
sudo apt-get install php7.0-soaptambém
Thaha kp 11/11
Obrigado. Adicionado.
Vadym Kalin
Alguém aqui com o mesmo problema no windows-7 Xampp? Eu não tenho nenhuma DLL
GunJan Mehta
Além disso, sudo apt install php7.0-bcmath
Arshad Syed 16/01
2

Tente isso para ativar o php-curl

sudo apt-get install php7.0-curl
Sujal Patel
fonte
0

Às vezes, a linha de comando é configurada para usar uma configuração diferente (arquivo .ini) de outras fontes. Você saiu phpinfoda Web e disse que parece bom, mas e a partir da própria linha de comando?

Especificamente, observe a saída de php -i | grep '.ini'(para ver os arquivos ini carregados) e, php -iem geral (para ver as extensões carregadas).

Melhor suposição, a CLI está carregando php-cli.iniou algo assim e essa configuração alternativa não foi atualizada com as novas extensões instaladas. Copie-os de php.inie seu problema será resolvido.

Ryan Hoerr
fonte
-1

Estou usando o centos CWP webpanel. É uma GUI semelhante a outras que você precisa comprar ou alugar. No painel do CentosCWP, há um seletor de php que permite executar uma dúzia de versões diferentes de php para atender às suas necessidades. Quando seleciono uma versão, há caixas de seleção para permitir que você personalize os módulos que são carregados. Por padrão, intl não está marcado. Depois de verificar e salvar a configuração do php e reiniciar o apache, o erro de preparação para o módulo "intl" ausente desapareceu.

Além disso, eu descartei o Mage 2.1 e voltei para o ZC. Mage é muito lento e o novo back-end é mal projetado na minha humilde opinião.

user3257923
fonte
11
Isso não fornece uma resposta. Dê etapas específicas para resolver o problema.
precisa saber é o seguinte