mcrypt est une bibliothèque d'extension de support de chiffrement importante en PHP. Cette bibliothèque n'est pas activée par défaut dans l'environnement Linux. Dans l'environnement fenêtre, PHP>=5.3, l'extension mcrypt est activée par défaut. L'extension mcrypt est une interface vers la bibliothèque de chiffrement mcrypt. Cette extension est utile pour permettre au code PHP qui utilise mcrypt de s'exécuter sur PHP 7.2+.
Le principal problème de l'extension mcrypt est qu'elle est basée sur libmcrypt, qui n'a pas été développée depuis 2007. Par conséquent, même si libmcrypt est toujours utilisé, les problèmes de sécurité de la bibliothèque sont devenus une préoccupation pour de nombreux administrateurs système en raison d'un manque de développement et de maintenance appropriés.
En raison de la fin du développement de l'extension mcrypt, l'extension a également été supprimée de PHP 7.2 et déplacée vers un référentiel PECL non officiel. Cependant, vous pouvez toujours trouver l'extension mcrypt de PHP 5.4 à PHP 7.1. PHP 7.2 a été publié, mais il n'inclut pas l'extension mcrypt. Pour PHP 7.2+, PHP utilise libsodium comme bibliothèque de chiffrement.
Pour installer l'extension mcrypt sur PHP 7.2, exécutez la commande suivante en tant qu'utilisateur root du serveur :
Vérifiez les versions php et pecl
php -v pecl version
Si votre php n'est pas 7.2, utilisez /usr/bin/php7.2 au lieu de la commande php.
Installer l'extension mcrypt
Mcrypt Extension PECL
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
Lorsque vous voyez l'invite
libmcrypt prefix? [autodetect] :
Appuyez sur [Entrée] pour détecter automatiquement.
Après avoir installé avec succès mcrypt via pecl, vous devez ajouter l'extension mcrypt.so au php.ini.
Le résultat ressemblera à ceci :
... 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
Récupérez le chemin d'installation et ajoutez-le à la configuration php.ini cli et apache2.
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"
Vérifiez que l'extension est installée
Exécutez la commande :
php -i | grep "mcrypt"
Le résultat ressemblera à ceci :
/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
Q : J'ai vu le message d'erreur : ERREUR : 'phpize' a échoué
A : Vous pouvez installer php7.2-dev apt -get install php7.2-dev
Q : Quelle est la solution pour installer PHP 7.1 avec des paramètres élevés sur MacOS/OSX ?
Réponse : vous pouvez utiliser macports, puis vous pouvez installer sudo port install php71-mcrypt
Recommandations associées : "Tutoriel PHP"
Ceci article Cet article explique comment installer l'extension mcrypt dans php7.2/php7.3. J'espère qu'il sera utile aux amis dans le besoin !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!