Ich bekomme diesen Fehler immer wieder
Mcrypt PHP Erweiterung erforderlich
unten, nachdem ich einen composer update
ausgeführt habe:
Seit ich mit Mac arbeite, habe ich versucht, folgendes auszuführen:
brew search mcrypt
brew install php56-mcrypt
Ich bekomme immer noch die gleiche Fehlermeldung.
Ich habe dieses Problem gelöst, indem ich die folgenden Befehle ausgeführt habe
brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt
php --version // To Test your php
Sudo composer update
Keine Mcrypt-Warnung mehr!
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Generating optimized class loader
Nach dem Update brauen:
brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
Wenn Sie php5.6 (oder höher) installiert haben, können Sie mit dem folgenden Befehl herausfinden, welche Versionen in brew verfügbar sind:
$ brew search mcrypt
homebrew/php/php53-mcrypt homebrew/php/php55-mcrypt homebrew/php/php70-mcrypt mcrypt
homebrew/php/php54-mcrypt homebrew/php/php56-mcrypt homebrew/php/php71-mcrypt
In meinem Fall verwende ich php7.0:
$ brew install php70-mcrypt
Auf macOS High Sierra habe ich folgende Schritte ausgeführt:
1- Suchen Sie das Paket:
brew search mcrypt
Ergebnis:
==> Lokale Taps durchsuchen ... homebrew/php/php71-mcrypt mcrypt homebrew/php/php53-mcrypt
homebrew/php/php54-mcrypt homebrew/php/php55-mcrypt homebrew/php/php56-mcrypt homebrew/php/php70-mcrypt Libtomcrypt
2- Durchsuchen Sie meine PHP-Version, um zu wissen, was ich installieren muss:
php --version
Ergebnis:
PHP 7.1.7 (cli) (erstellt: 15. Juli 2017 um 18:08:09 Uhr) (NTS) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
3- Installiere das richtige Paket, für mich war 7.1.7 => homebrew/php/php71-mcrypt
brew install homebrew/php/php71-mcrypt
4- Suchen Sie nach der Erweiterungsdatei "mcrypt.so"
find /usr/ -type f -name "mcrypt.so"
Ergebnis:
finden: /usr//local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so
5- Durchsuchen Sie die php.ini
php -i | grep 'Configuration File'
Ergebnis (falls vorhanden):
Konfigurationsdatei (php.ini) Pfad =>/etc Geladene Konfigurationsdatei => /etc/php.ini
6- Fügen Sie die nächste Zeile am Ende der Datei /etc/php.ini (siehe den letzten Schritt des korrekten Pfads) der Erweiterung mcrypt.so hinzu
extension=/usr/local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so
Fertig, Sie können jetzt Ihren Befehl ausführen.
Sie müssen die Zeile hinzufügen
extension=mcrypt.so
Führen Sie in Ihrer phi.ini-Datei, die für die CLI-Version PHP verantwortlich ist ..__ aus. Um herauszufinden, wo sich diese befindet, führen Sie Folgendes aus:
php -i | grep 'Configuration File'
In Verwendung von XAMPP auf meinem Mac, also musste ich PHP installieren und dann mcrypt mit pecl kompilieren. Danach kopierte ich mcrypt.so nach XAMPP.
Die aktuelle Liste der verfügbaren Versionen ist: http://pecl.php.net/package/mcrypt
Die Befehle waren:
echo Install php...
brew install php
/usr/local/opt/php/bin/php -v
echo Correction of "error Connection to `ssl://pecl.php.net:443' failed"...
wget http://curl.haxx.se/ca/cacert.pem
Sudo cp cacert.pem /private/etc/ssl/cert.pem
Sudo mv cacert.pem /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
/usr/local/opt/php/bin/pecl list-all
echo Compile and Install mcrypt.so...
Sudo /usr/local/opt/php/bin/pecl install mcrypt-1.0.1
Die letzte Nachricht des Erstellungsprozesses von pecl war:
Build process completed successfully Installing '/usr/local/Cellar/php/7.2.7/pecl/20170718/mcrypt.so' install ok: channel://pecl.php.net/mcrypt-1.0.1 Extension mcrypt enabled in php.ini
Basierend auf dem Pfad von Build-Prozess habe ich die kompilierte Datei mcrypt.so nach XAMPP kopiert und die Erweiterung für php.ini aktiviert:
Sudo cp /usr/local/Cellar/php/7.2.7/pecl/20170718/mcrypt.so /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20170718/mcrypt.so
echo 'extension=mcrypt.so' >> /Applications/XAMPP/xamppfiles/etc/php.ini
Überprüfen Sie, ob es funktioniert:
/Applications/XAMPP/bin/php -i | grep "mcrypt"
Das Ergebnis muss sein:
mcrypt mcrypt support => enabled mcrypt_filter support => enabled mcrypt.algorithms_dir => no value => no value mcrypt.modes_dir => no value => no value
Denken Sie an Neustart von Apache, um zu sehen, dass es über den Browser funktioniert.
Vielleicht hilft es jemandem und ich gewinne einen Daumen hoch. Vielen Dank