problème avec l'installation de mcrypt
J'ai demandé aux administrateurs système pour installer mcrypt sur le serveur, et ils disent que tout est OK. Mais quand je lance mon script simple je reçois ce.
Avertissement: mcrypt_get_iv_size() [function.mcrypt-get-iv-taille]: échec de l'initialisation du Module
Ça vient de cette ligne:
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);
Maintenant, à partir de ce code:
$algorithms = mcrypt_list_algorithms("/usr/local/bin/mcrypt");
foreach ($algorithms as $cipher) {
echo "$cipher<br />\n";
}
J'obtiens:
Avertissement: mcrypt_list_algorithms() [function.mcrypt-liste-des algorithmes]: Aucun des algorithmes trouvent dans le module dir
Lorsque je l'exécute:
$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");
foreach ($modes as $mode) {
echo "$mode <br />\n";
}
J'obtiens:
Avertissement: mcrypt_list_modes() [function.mcrypt-liste-des modes]: Pas de modes trouvent dans le module dir
Toutefois, l'exécution de cette commande cette commande
which mcrypt; mcrypt -v
Produit:
/usr/local/bin/mcrypt
Mcrypt v.0.9.9 (x86_64-unknown-linux-gnu)
Linked against libmcrypt v.2.5.7
Copyright (C) 1998-2002 Nikos Mavroyanopoulos (nmav@gnutls.org)
Est mcrypt installé/configuré correctement?
Mise à JOUR:
Je l'ai fait:
whereis libmcrypt
...et a obtenu le résultat:
libmcrypt: /usr/local/lib/libmcrypt /usr/local/lib/libmcrypt.so /usr/local/lib/libmcrypt.la
J'ai aussi changé:
$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");
...
$modes = mcrypt_list_modes("/usr/local/lib/libmcrypt");
$algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");
Comme recommandé, mais toujours l'erreur:
Avertissement: mcrypt_list_modes() [function.mcrypt-liste-des modes]: Pas de modes trouvent dans le module dir en
Puis je suis allé dans le gestionnaire de fichiers dans mon CPanel pour /usr/local/lib/libmcrypt
. Le répertoire existe, mais il n'a pas de fichiers dans...
Voici l'impression d'écran du gestionnaire de fichiers.
Grâce.
source d'informationauteur Kide
Vous devez vous connecter pour publier un commentaire.
Essayez ceci pour votre mcrypt problème:
C'est un bug avec l'emplacement de la mcrypt.fichier ini.
J'ai eu le même bug, j'ai fait un cp à la place d'un mv pour être sûr, mais il a résolu le problème.
Pour PHP ne fonctionne pas, si vous obtenez phpmyadmin de travail (même avec mcrypt erreur), cela signifie que PHP fonctionne (parce que phpmyadmin utilise PHP). Mais dans votre exemple
changement
<?
à<?php
et essayer de nouveau?Sur Ubuntu 14.04 juste besoin de faire seulement trois étapes que sudo:
La mcrypt algorithmes répertoire doit être un répertoire contenant les algorithmes, pas un binaire. Cela signifie que cette:
Devrait plutôt être ceci (en supposant que mcrypt est installé est
/usr/local/lib/libmcrypt
):Si le répertoire où
libmcrypt
est installé n'est pas que l'un des ci-dessus, vous devez mettre à jour votre php.ini réglage. Prises de php.ini:Si vous avez accès au shell, vous pouvez essayer cette commande pour trouver le répertoire lib de votre mcrypt installation:
ou...
En fonction de votre configuration.
J'ai eu exactement le même problème.
Il a été résolu par la reconfigurer et recompiler libmcrypt avec ces options:
Puis dans votre php.ini :
Comment installer mcrypt sur MAC OSX:
Bonjour, testé et de travail sur Mac OSX El Capitan:
1. Télécharger mcrypt: http://www.viames.it/download/elcapitan/mcrypt.so
2. Lieu:
3. Modifier votre 'php.ini'
et ajoutez la ligne suivante:
4. Check si mcrypt " est chargé avec la commande suivante:
php -m console résultat
5. Créer une " phpinfo.php avec contenu:
et voir si mcrypt est répertorié:
la fonction phpinfo() affiche maintenant mcrypt pour être chargé
Oui, je sais, je suis un gangsta.
Architecture: Centos 6 /Apache 2.2 /Double installation de PHP (5.3 et 5.4)
Mise à JOUR: Cette solution explique comment installer le module mcrypt avec PHP 5.4 manuellement à partir de RPM de Remi sur Centos 6, mais le RPM nécessite glibc-2.14+, donc ce n'est pas assez pour le faire fonctionner, si votre version de la glibc est plus vieux que ça.
Dans ma configuration,
Yum install php-mcrypt*
ont installé la version pour5.3
dans la racine normal:Cependant, 5.4 est chrooté dans
/opt/rh/php54
Simplement la copie de la 5.3 modules et des fichiers de configuration ne fonctionne pas. Le module d'échec de l'initialisation, c'est pourquoi il n'apparaît pas dans le phpinfo(), ce qui peut être contrôlé avec
La solution qui a fonctionné pour moi est de télécharger les RPM de Remi (même si c'est normalement plus facile à installer par l'ajout de son référentiel Yum, tel que discuté dans les Commentaires) (https://www.rpmfind.net/linux/RPM/remi/fedora/25/x86_64/php54-php-mcrypt-5.4.45-12.fc25.remi.x86_64.html)
extraire les fichiers avec RPM2CPIO:
Et copiez dans le dossier chroot
À vérifier:
Et aussi: