Que faut-il pour PHP mcrypt_decrypt ()?
Question
J'ai un script qui utilise la fonction mcrypt_decrypt (), mais le message d'erreur suivant s'affiche
Erreur fatale: appel de la fonction non définie mcrypt_decrypt ()
Quels modules / bibliothèques dois-je inclure pour utiliser cette fonction? Ou y a-t-il une autre raison pour laquelle je reçois l'erreur?
Merci
La solution
Veuillez consulter:
Vous devez compiler votre PHP avec - avec-mcrypt [= DIR]
et disposer de libmcrypt version 2.5.6 ou supérieure sur votre ordinateur.
Autres conseils
sudo apt-get install php5-mcrypt
fonctionne sur Ubuntu.
Configurez php5-mcrypt avec php5-fpm (Ubuntu 14.04)
Je suppose que nginx et php-fpm sont déjà installés et en cours d'exécution.
php5-mcrypt devrait déjà être installé (il est livré avec php5-fpm). Juste pour la sécurité, apt-get install php5-mcrypt
Créer un lien symbolique vers mods-disponible, ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
Activez-le. php5enmod mcrypt
Redémarrez php-fpm, service php5-fpm redémarrer
Redémarrez nginx, service nginx restart
Fait!
Extrait du manuel :
Vous devez compiler PHP avec le --with-mcrypt [= DIR] paramètre pour activer cette extension. DIR est le répertoire d'installation mcrypt. Assure-toi vous compilez libmcrypt avec l'option --disable-posix-threads.
En général, si PHP dit qu'une fonction est indéfinie, cela signifie que vous devez compiler dans une bibliothèque.
ci-dessus ne fonctionne pas, vous pouvez essayer ceci:
créer un fichier mcrypt.ini dans /etc/php5/conf.d avec un contenu
extension=mcrypt.so
J'ai mis PHP à niveau à la version 5.4 via http://php-osx.liip.ch/ et cela a fonctionné.
pour php 5.3.X
dépend de la disponibilité du package yum mcrypt, vous pouvez utiliser yum packeages
comme ceci: miam installer php53-mcrypt et redémarrez httpd
Et faites attention au dossier dans la page phpinfo: "Recherchez dans ce répertoire des fichiers .ini supplémentaires" et le suivant: "Fichiers .ini supplémentaires analysés".
Après la mise à niveau vers PHP 5.4 en cours d'exécution (Works)
sudo php5enmod mcrypt
sudo service apache2 restart