Magento 2 PHP-Erweiterungen fehlen

10

Ich versuche, eine neue Vagrant-Box für die Magento 2-Entwicklung einzurichten. Beim Ausführen werden jedoch composer installdie folgenden Fehler angezeigt:

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.

Ich habe bereits versucht, jede dieser Erweiterungen mit sudo apt-get install php7.0-mcryptetc zu installieren, erhalte jedoch immer noch die obigen Fehler, dass die von mir installierten Erweiterungen noch fehlen. Ich habe Apache2 neu gestartet. Irgendwelche Ideen?

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

Geben Sie hier die Bildbeschreibung ein

Wickywills
quelle
Nach der Installation haben Sie php-fpm / apache / nginx neu gestartet. Zweitens sind Sie sicher, dass "Web" PHP 7 verwendet, machen Sie eine <?php phpinfo(); Seite, um zu überprüfen und zu bestätigen, was was ist
Barry Carlyon
@BarryCarlyon Aktualisierte Frage mit einem Screenshot - lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Wie stelle ich sicher, dass "Web" PHP7 verwendet?
Wickywills
Können Sie ausführen php -mund sehen, welche Liste der installierten Erweiterungen Sie als Ausgabe erhalten?
Atish Goswami
Ich kann nichts "Falsches" sehen, daher bin ich mir nicht sicher, warum Magento behauptet, die Module seien nicht installiert. PHPinfo gab die richtige Ausgabe aus und bestätigte, dass es sich um PHP7 handelt und dass diese Module installiert sind.
Barry Carlyon

Antworten:

27

Stellen Sie vor der Installation von Magento 2 sicher, dass Ihr System die folgenden Anforderungen erfüllt oder übertrifft:

Erforderliche PHP-Erweiterungen:

  • PDO / MySQL
  • mbstring
  • mcrypt
  • mhash
  • Simplexml
  • locken
  • gd2, ImageMagick 6.3.7 (oder höher) oder beides
  • Seife

Aber für PHP 7.0 müssen Sie die nächsten Befehle verwenden:

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

HINWEIS:

Verwenden Sie dies für openSUSE:

zypper install php7-gd php7-mcrypt php7-curl php7-intl php7-xsl php7-mbstring php7-openssl php7-zip php7-soap
Vadym Kalin
quelle
1
sudo apt-get install php7.0-soapauch
Thaha kp
Vielen Dank. Hinzugefügt.
Vadym Kalin
Hat hier jemand das gleiche Problem mit Windows-7 Xampp? Ich habe keine DLL
GunJan Mehta
Auch sudo apt install php7.0-bcmath
Arshad Syed
2

Versuchen Sie dies, um PHP-Curl zu aktivieren

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

Manchmal ist die Befehlszeile so eingerichtet, dass sie eine andere Konfiguration (INI-Datei) als andere Quellen verwendet. Sie sind phpinfoaus dem Internet gelaufen und haben gesagt, dass es gut aussieht, aber wie wäre es mit der Befehlszeile selbst?

Schauen Sie sich insbesondere die Ausgabe von php -i | grep '.ini'(um geladene INI-Dateien anzuzeigen) und php -iallgemein (um geladene Erweiterungen anzuzeigen) an.

Vermutlich wird die CLI geladen php-cli.inioder so, und diese alternative Konfiguration wurde nicht mit den neuen Erweiterungen aktualisiert, die Sie installiert haben. Kopieren Sie diese von php.ini, und Ihr Problem ist behoben.

Ryan Hoerr
quelle
-1

Ich benutze Centos CWP Webpanel. Es ist eine ähnliche Benutzeroberfläche wie andere, die Sie kaufen oder mieten müssen. Im CentosCWP-Dashboard gibt es einen PHP-Selektor, mit dem Sie ein Dutzend verschiedener PHP-Versionen ausführen können, um Ihren Anforderungen gerecht zu werden. Wenn ich eine Version auswähle, gibt es Kontrollkästchen, mit denen Sie die zu ladenden Module anpassen können. Standardmäßig ist intl nicht aktiviert. Nachdem ich die PHP-Konfiguration überprüft und gespeichert und Apache neu gestartet hatte, verschwand der Bereitschaftsfehler für das fehlende "intl" -Modul.

Abgesehen davon habe ich Mage 2.1 verschrottet und bin zu ZC zurückgekehrt. Magier ist viel zu langsam und das neue Backend ist meiner bescheidenen Meinung nach schlecht gestaltet.

user3257923
quelle
1
Dies gibt keine Antwort. Bitte geben Sie spezifische Schritte zur Lösung des Problems an.
Brentwpeterson