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


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

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


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.


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


1
To nie daje odpowiedzi. Podaj konkretne kroki w celu rozwiązania problemu.
— brentwpeterson
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.