Essayer de configurer Laravel et continuer à recevoir cette erreur. J'ai installé mcrypt par brassé et il se trouve dans/usr/local/Cellar. Des pensées? .. Cela ne s'affiche pas non plus dans la commande de terminal php -m, si cela compte. J'utilise Mountaion Lion avec le serveur Web natif Macs.
Vous devez également l'activer dans votre fichier php.ini
et probablement redémarrer Apache.
Dans php.ini
, vous trouverez ;mcrypt.so
et en supprimerez le ;
.
Ou, si ce n'est pas là, ajoutez simplement mcrypt.so
quelque part.
De plus, l'option salt est déconseillée depuis PHP 7.0.0. Il est maintenant préférable d’utiliser simplement le sel généré par défaut.
Ubuntu ou n’importe quel utilisateur Linux basé sur Debian peuvent installer le paquet requis avec apt-get
:
Sudo apt-get install php5-mcrypt
N'oubliez pas de redémarrer le serveur Web après:
Sudo service Apache2 restart
Si cela ne fonctionne toujours pas, essayez de lier le fichier de configuration au dossier de configuration approprié pour le serveur Web. Merci à dave1010 pour cet indice dans les commentaires.
Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/Apache2/conf.d/ # for Apache
Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/cli/conf.d/ # for CLI
Et encore une fois, redémarrez le serveur Web:
Sudo service Apache2 restart
Peut-être, si vous ne travaillez pas encore, vous avez aussi besoin de la ligne affichée par @RahulPrasad, avec php5enmod mcrypt
.
Essayez Sudo php5enmod mcrypt && Sudo service Apache2 restart
Vous avez installé mcrypt
alors que vous vouliez réellement le module php56-mcrypt
php.
Vous avez indiqué dans votre question que vous pouvez voir que mcrypt
est installé dans /usr/local/Cellar
et que vous utilisez OSX
. Ainsi, le moyen le plus simple d'installer le module mcrypt PHP sur OSX à l'aide de Homebrew est:
// assuming you have php56
brew install php56-mcrypt
Si homebrew ne trouve pas le bon paquet, vous devrez peut-être appuyer sur les référentiels PHP disponibles sur GitHub :
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
Maintenant, lorsque vous exécutez la commande brew search mcrypt
, vous devriez voir quelque chose comme:
libtomcrypt mcrypt php53-mcrypt php54-mcrypt php55-mcrypt php56-mcrypt
Plusieurs autres affiches ont mentionné la nécessité de modifier votre fichier php.ini
. Cela ne sera pas nécessaire, car homebrew se chargera d'activer le module pour vous. Il place le fichier de configuration à /usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini
L'extension mcrypt PHP n'est pas installée.
Pour un Mac, j’ai suivi les instructions suivantes: mcrypt on Mac 10.7 ou 10.8 .
Ils ressemblent beaucoup, mais ce n'est pas, il est très facile de suivre cela fonctionne!
Juste une note pour les personnes qui ont récemment effectué une mise à niveau vers PHP 7 - La bibliothèque MCRYPT a été deprecated . Si vous avez mis à niveau vers PHP 7 et que vous voyez maintenant cette erreur, c'est pourquoi. Vous devriez passer à une autre bibliothèque, certaines alternatives sont mentionnées dans ce fil .
Vous avez peut-être installé mycrypt mais le module php_mcrypt n'est pas installé/activé.
Accédez au dossier CLI de votre installation php, recherchez-y le fichier php.ini et activez-le. Terminal utilise parfois un autre fichier php.ini, qui se trouve généralement dans le dossier CLI.
J'ai installé php et mcrypt avec Homebrew, mais j'ai quand même rencontré cette erreur après avoir effectué brew update
plusieurs fois. Je pense que ma configuration est un peu bouleversée avec le temps.
Il s'avère que mon php était en cours de configuration à partir de /private/etc/php.ini, not /usr/local/etc/php/5.4/php.ini comme le recommande Homebrew. Mcrypt n'est même pas inclus dans /usr/local/etc/php/5.4/ext-mcrypt.ini, ce qui n'a pas beaucoup de sens de considérer que php -i
produit ceci pour moi:
Configuration File (php.ini) Path => /usr/local/etc/php/5.4
Loaded Configuration File => /usr/local/etc/php/5.4/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/5.4/conf.d
Additional .ini files parsed => /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini
Ma solution:
/private/etc/php.ini
en tant que superutilisateurextension="/usr/local/Cellar/php54-mcrypt/5.4.28/mcrypt.so"
et sauvegarderSudo apachectl restart
C'est ce qui a finalement fonctionné pour moi:
brew reinstall --with-homebrew-curl --with-httpd php56
brew reinstall --build-from-source php56-mcrypt
J'ai également dû faire Sudo chmod 777 /usr/local/etc/php/5.6/conf.d
car j'ai eu des erreurs lorsque le second brew reinstall
a essayé d'ajouter le ext-mcrypt.ini
à ce répertoire.