Je l'ai fait plusieurs fois:
Sudo aptitude install php5-mcrypt
Sudo Apache2ctl restart
aptitude dit que mcrypt est installé. Je l'ai déjà réinstallé 3 fois. J'ai redémarré Apache environ 20 fois depuis que je l'ai installé. Quand je regarde phpInfo, je ne vois pas la liste de mcrypt. Lorsque j'essaie d'exécuter mon code, il indique que la fonction mcrypt (en choisir un - n'importe lequel) n'existe pas. mcrypt n'est clairement pas activé.
Est-ce que quelqu'un a une idée de ce qui pourrait être faux? Je ne sais pas quelles pièces devraient être où et comment tout cela est censé s'emboîter.
J'ai installé PHP 5.5.3
Essaye ça
Sudo php5enmod mcrypt
Sudo service Apache2 restart
J'ai eu un problème similaire sur Ubuntu 13.10. Lors de l'exécution de composer install, il a généré la même erreur, se terminant par.
****Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output:****
J'ai installé mcrypt
et php5-mcrypt
avec aptitude, et php -m
ne montrait toujours pas mcrypt
en tant qu'extension chargée:
aptitude install mcrypt
aptitude install php5-mcrypt
J'ai exécuté un updatedb
, puis un locate mcrypt
. J'ai trouvé mon mcrypt.ini
dans /etc/php5/conf.d
. Pourtant, toutes les autres extensions (comme json) avaient leurs fichiers .ini dans /etc/php5/Apache2/conf.d
et /etc/php5/cli/conf.d
. Ces deux étaient des liens vers ../../mods.available
.
J'ai donc déplacé mcrypt.ini
en /etc/php5/available-modules
et défini les liens:
cd /etc/php5/cli/conf.d
ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini
Et de même pour /etc/php5/Apache2/conf.d
.
Et voila, il est apparu dans php -m
!
Ressemble à l'extrait de code ini qui charge libmcrypt lorsque PHP est appelé par Apache et est manquant. Il devrait y avoir un fichier appelé /etc/php5/Apache2/conf.d/mcrypt.ini
avec le contenu suivant
; configuration for php MCrypt module
extension=mcrypt.so
Vous devriez pouvoir le copier depuis les autres configurations d'intégration PHP telles que /etc/php5/cli/conf.d/mcrypt.ini
ou /etc/php5/conf.d/mcrypt.ini
, en fonction de ce qui est installé sur votre système.
Le module mcrypt n'est pas activé par défaut. Activez le module mcrypt puis redémarrez Apache ( crédit )
Sudo php5enmod mcrypt
Sudo service Apache2 restart
Eh bien, c'est ça. On dirait que nous cherchons parfois le moyen le plus compliqué de faire quelque chose d'aussi simple que d'enmod; ) Comme Boinst dit: Sudo php5enmod mcrypt
. Rechargez ensuite Apache.