Impossible d'obtenir mcrypt pour PHP5

28

J'ai fait cela plusieurs fois:

sudo aptitude install php5-mcrypt

sudo apache2ctl restart

aptitude dit que mcrypt est installé. Je l'ai réinstallé 3 fois déjà. J'ai redémarré Apache environ 20 fois depuis son installation. Quand je regarde phpInfo, je ne vois pas mcrypt listé. Quand j'essaie d'exécuter mon code, il dit que la fonction mcrypt (choisir un - n'importe lequel) n'existe pas. mcrypt n'est clairement pas activé.

Quelqu'un a-t-il 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

    
posée webDeveloperDave 28.09.2013 - 00:47
la source

5 réponses

61

Essayez ceci

sudo php5enmod mcrypt

sudo service apache2 restart
    
réponse donnée user229183 27.12.2013 - 12:24
la source
11

J'ai eu un problème similaire sur Ubuntu 13.10. Lors de l'exécution du composeur, l'installation produisait 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 n'a toujours pas montré mcrypt comme extension chargée:

aptitude install mcrypt
aptitude install php5-mcrypt

J'ai lancé updatedb , puis locate mcrypt . J'ai trouvé mon mcrypt.ini en /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 à /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 voilà, ça se voyait dans php -m !

    
réponse donnée user239289 24.01.2014 - 09:29
la source
2

Il semble que l'extrait de code ini qui charge libmcrypt lorsque PHP est appelé par Apache 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 à partir des autres configurations de l'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.

    
réponse donnée Henning Kockerbeck 01.10.2013 - 00:45
la source
2

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
    
réponse donnée Boinst 28.04.2014 - 07:26
la source
1

Eh bien, ça y est. On dirait que parfois nous sommes à la recherche de la manière la plus complexe de faire quelque chose d'aussi simple que «enmod»; ) Comme Boinst dit: sudo php5enmod mcrypt . Ensuite, rechargez apache.

    
réponse donnée Maximo 06.09.2014 - 10:30
la source

Lire d'autres questions sur les étiquettes