Heim >Backend-Entwicklung >PHP-Tutorial >Wie installiere ich die mcrypt-Erweiterung in php7.2/php7.3?

Wie installiere ich die mcrypt-Erweiterung in php7.2/php7.3?

藏色散人
藏色散人Original
2019-03-27 10:10:5813560Durchsuche

mcrypt ist eine wichtige Erweiterungsbibliothek zur Verschlüsselungsunterstützung in PHP. Diese Bibliothek ist in einer Linux-Umgebung standardmäßig nicht aktiviert. In der Windows-Umgebung PHP>=5.3 ist die mcrypt-Erweiterung standardmäßig aktiviert. Die mcrypt-Erweiterung ist eine Schnittstelle zur mcrypt-Verschlüsselungsbibliothek. Diese Erweiterung ist nützlich, um PHP-Code, der mcrypt verwendet, auf PHP 7.2+ laufen zu lassen.

Wie installiere ich die mcrypt-Erweiterung in php7.2/php7.3?

Das Hauptproblem der mcrypt-Erweiterung besteht darin, dass sie auf libmcrypt basiert, das seit 2007 nicht mehr entwickelt wurde. Obwohl libmcrypt immer noch verwendet wird, sind die Sicherheitsprobleme der Bibliothek aufgrund mangelnder ordnungsgemäßer Entwicklung und Wartung für viele Systemadministratoren in den Mittelpunkt gerückt.

Aufgrund des Entwicklungsendes der mcrypt-Erweiterung wurde die Erweiterung auch aus PHP 7.2 entfernt und in ein inoffizielles PECL-Repository verschoben. Allerdings finden Sie die mcrypt-Erweiterung weiterhin in PHP 5.4 bis PHP 7.1. PHP 7.2 wurde veröffentlicht, enthält jedoch nicht die mcrypt-Erweiterung. Für PHP 7.2+ verwendet PHP libsodium als Verschlüsselungsbibliothek.

Um die mcrypt-Erweiterung auf PHP 7.2 zu installieren, führen Sie den folgenden Befehl als Root-Benutzer des Servers aus:

PHP- und PECL-Versionen überprüfen

php -v
pecl version

Wenn Ihr PHP nicht 7.2 ist, verwenden Sie /usr/bin/php7.2 anstelle des PHP-Befehls.

Mcrypt-Erweiterung installieren

Mcrypt PECL-Erweiterung

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.1

Wenn Sie die Eingabeaufforderung sehen

libmcrypt prefix? [autodetect] :

Drücken Sie die Eingabetaste, um die automatische Erkennung durchzuführen.

Nach der erfolgreichen Installation von mcrypt über pecl sollten Sie die Erweiterung mcrypt.so zu php.ini hinzufügen.

Die Ausgabe sieht so aus:

...
Build process completed successfully
Installing '/usr/lib/php/20170718/mcrypt.so'    ---->   this is our path to mcrypt extension lib
install ok: channel://pecl.php.net/mcrypt-1.0.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini

Besorgen Sie sich den Installationspfad und fügen Sie ihn der CLI- und Apache2-php.ini-Konfiguration hinzu.

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

Überprüfen Sie, ob die Erweiterung installiert ist

Führen Sie den Befehl aus:

php -i | grep "mcrypt"

Die Ausgabe sieht folgendermaßen aus:

/etc/php/7.2/cli/conf.d/mcrypt.ini
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

FAQ

F: Ich sehe die Fehlermeldung: FEHLER: 'phpize' fehlgeschlagen

A: Sie können php7.2-dev apt-get install php7.2 installieren -dev

F: Was ist die Lösung für die Installation von PHP 7.1 mit höchsten Einstellungen unter MacOS/OSX?

Antwort: Sie können Macports verwenden und dann sudo port install php71-mcrypt installieren

Verwandte Empfehlungen: „PHP-Tutorial

Dies Artikel In diesem Artikel geht es um die Installation der mcrypt-Erweiterung in php7.2/php7.3. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Das obige ist der detaillierte Inhalt vonWie installiere ich die mcrypt-Erweiterung in php7.2/php7.3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn