Brakuje rozszerzeń PHP Magento 2

10

Usiłuję skonfigurować nowe pudełko Vagrant dla rozwoju Magento 2, jednak po uruchomieniu composer installpojawiają się następujące błędy:

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.

Próbowałem już instalować każde z tych rozszerzeń za pomocą sudo apt-get install php7.0-mcryptitp., Jednak nadal pojawiają się błędy powyżej stwierdzające, że rozszerzenia, które zainstalowałem, wciąż brakuje. Zrestartowałem Apache2. Jakieś pomysły?

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

wprowadź opis zdjęcia tutaj

wickywills
źródło
Czy po instalacji zrestartowałeś php-fpm / apache / nginx. Po drugie, czy jesteś pewien, że „sieć” używa PHP 7, stwórz <?php phpinfo(); stronę, aby sprawdzić i potwierdzić co
Barry Carlyon
@BarryCarlyon Zaktualizowano pytanie ze zrzutem ekranu - daj mi znać, jeśli potrzebujesz więcej informacji. Jak mogę się upewnić, że „sieć” korzysta z PHP7?
wickywills
czy możesz uruchomić php -mi zobaczyć, jaką listę zainstalowanych rozszerzeń otrzymujesz jako wynik.
Atish Goswami
Nic nie widzę „źle”, więc nie jestem pewien, dlaczego Magento twierdzi, że moduły nie są zainstalowane. PHPinfo podał poprawne wyjście, potwierdzając, że jest na php7 i ma zainstalowane te moduły.
Barry Carlyon

Odpowiedzi:

28

Przed zainstalowaniem Magento 2 upewnij się, że twój system spełnia lub przekracza następujące wymagania:

Wymagane rozszerzenia PHP:

  • PDO / MySQL
  • mbstring
  • mcrypt
  • mhash
  • simplexml
  • kędzior
  • gd2, ImageMagick 6.3.7 (lub nowszy) lub oba
  • mydło

Ale dla php 7.0 musisz użyć następnych poleceń:

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

UWAGA:

Użyj tego dla openSUSE:

zypper install php7-gd php7-mcrypt php7-curl php7-intl php7-xsl php7-mbstring php7-openssl php7-zip php7-soap
Vadym Kalin
źródło
1
sudo apt-get install php7.0-soaptakże
Thaha kp
Dzięki. Dodany.
Vadym Kalin
Czy ktoś ma ten sam problem na Windows-7 Xampp? Nie mam żadnych dll
GunJan Mehta
Ponadto, sudo apt install php7.0-bcmath
Arshad Syed
2

Spróbuj tego, aby włączyć curl php

sudo apt-get install php7.0-curl
Sujal Patel
źródło
0

Czasami wiersz poleceń jest skonfigurowany do używania innej konfiguracji (pliku .ini) niż z innych źródeł. Biegłeśphpinfo z internetu i powiedziałeś, że wygląda dobrze, ale co powiesz na samą linię poleceń?

W szczególności spójrz na dane wyjściowe php -i | grep '.ini'(aby zobaczyć załadowane pliki ini) i php -iogólnie (aby zobaczyć załadowane rozszerzenia).

Najwyraźniej CLI się ładuje php-cli.ini, a ta alternatywna konfiguracja nie została zaktualizowana o nowe zainstalowane rozszerzenia. Skopiuj je z php.ini, a problem zostanie rozwiązany.

Ryan Hoerr
źródło
-1

Korzystam z panelu WWW Centos CWP. Jest to GUI podobny do innych, które musisz kupić lub wynająć. W desce rozdzielczej CentosCWP znajduje się selektor php, który pozwala uruchamiać tuzin różnych wersji php w zależności od potrzeb. Kiedy wybieram wersję, pojawiają się pola wyboru umożliwiające dostosowanie ładowanych modułów. Domyślnie intl nie jest zaznaczone. Po sprawdzeniu i zapisaniu konfiguracji php i ponownym uruchomieniu apache zniknął błąd gotowości do braku modułu „intl”.

Ale oprócz tego złomowałem Maga 2.1 i wróciłem do ZC. Mag jest sposobem na spowolnienie, a nowy backend jest źle zaprojektowany według mojej skromnej opinii.

użytkownik3257923
źródło
1
To nie daje odpowiedzi. Podaj konkretne kroki w celu rozwiązania problemu.
brentwpeterson