web-dev-qa-db-fra.com

Mcrypt PHP extension requise sous Mac OS X

Je continue à avoir cette erreur 

Extension Mcrypt PHP requise

en bas après avoir lancé un composer update

enter image description here

Depuis que j'utilise Mac, j'ai essayé de lancer: 

brew search mcrypt brew install php56-mcrypt

Je reçois toujours le même message d'erreur.

15
kyo

Pas

J'ai résolu ceci en lançant les commandes suivantes

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

Résultat

Pas plus d'avertissement Mcrypt !! 

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

Après la mise à jour de la bière:

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

Si vous avez installé php5.6 (ou supérieur), vous pouvez utiliser la commande suivante pour savoir quelles versions sont disponibles dans Brew: 

$ 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

Dans mon cas, j'utilise php7.0:

$ brew install php70-mcrypt
9
CharlieJade

Sur macOS High Sierra j’ai fait les étapes suivantes:

1- Rechercher le package:

brew search mcrypt

Résultat:

==> Recherche de robinets locaux ... 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- Rechercher dans ma version php pour savoir ce que je peux installer:

php --version

Résultat: 

PHP 7.1.7 (cli) (construit: 15 juillet 2017 18:08:09) (NTS) Copyright (c) 1997-2017 Les PHP Groupe Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

3- Installez le bon paquet, pour moi c'était 7.1.7 => homebrew/php/php71-mcrypt

brew install homebrew/php/php71-mcrypt

4- Trouver le fichier d'extension "mcrypt.so"

find /usr/ -type f -name "mcrypt.so"

Résultat:

trouver: /usr//local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so

5- Rechercher le php.ini

php -i | grep 'Configuration File'

Résultat (s'il existe): 

Fichier de configuration (php.ini) Chemin =>/etc Fichier de configuration chargé => /etc/php.ini

6- Ajoutez la ligne suivante à la fin sur /etc/php.ini (voir la dernière étape votre chemin correct) l'extension mcrypt.so

 extension=/usr/local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so

Terminez, vous pouvez maintenant exécuter votre commande.

Vous aurez besoin d'ajouter la ligne 

 extension=mcrypt.so

Dans votre fichier phi.ini responsable de la version CLI PHP . Pour le trouver, exécutez la commande suivante:

php -i | grep 'Configuration File'
3
christophetd

En cours d'utilisation XAMPP sur mon Mac, j'ai donc dû installer php puis compiler mcrypt à l'aide de pecl, après avoir copié mcrypt.so dans XAMPP.

La liste des versions disponibles est la suivante: http://pecl.php.net/package/mcrypt

Les commandes étaient:

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

Le dernier message du processus de construction de pecl était:

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

Basé sur le chemin de processus de construction}, j’ai copié le fichier mcrypt.so compilé vers XAMPP et ai activé l’extension sur php.ini:

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

Vérifiez si cela fonctionne:

/Applications/XAMPP/bin/php -i | grep "mcrypt"

Le résultat doit être:

mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

N'oubliez pas de redémarrer Apache pour le voir fonctionner avec le navigateur.

Peut-être que ça aide quelqu'un et que je gagne un bravo. Merci

0
lynx_74