wake-up-neo.com

Mcrypt PHP Erweiterung unter Mac OS X erforderlich

Ich bekomme diesen Fehler immer wieder 

Mcrypt PHP Erweiterung erforderlich

unten, nachdem ich einen composer update ausgeführt habe: 

enter image description here

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.

15
kyo

Schritte

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

Ergebnis

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
32
kyo

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
9
CharlieJade

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'
3
christophetd

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

0
lynx_74