Je l'ai fait plusieurs fois:
sudo aptitude install php5-mcrypt
sudo apache2ctl restart
aptitude indique 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 mcrypt répertorié. 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é.
Quelqu'un at-il une idée de ce qui pourrait mal se passer? 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
apt-get
/aptitude
)? Le packagephp5-mcrypt
ne peut configurer l'extension que pourphp.ini
les informations "connues". Deuxièmement, je ne sais pas maintenant siapache2ctl
recharge les modules. La façon «normale» de redémarrer Apache serait quelque chose comme çasudo service apache2 restart
. Troisièmement, comment PHP est-il connecté à votre Apache? Si vous utilisez quelque chose comme (f) cgi ou php-fpm (contrairement à mod-php), vous devrez probablement redémarrer PHP seul, en plus de redémarrer Apache.php.ini
est répertorié dans la sortie dephpinfo
(environ 5e à 7e entrée)? Ce devrait être un fichier/etc/php5/
. Si vous recherchez dans ce fichiermcrypt
, qu'est-ce qui se passe?mcrypt
emballage. C'est le programme en ligne de commande qui utilise libmcrypt, tout comme l'extension PHP. Vous devez donc vous assurer que le packagelibmcrypt4
est installé. Y a-t-il unphp.ini
extrait à/etc/php5/conf.d/mcrypt.ini
? Cela devrait charger la lib. Cet extrait est-il chargé par PHP (voirphpinfo
)? Encore une fois, avez-vous essayé de redémarrer Apache avecsudo service apache2 restart
au lieu deapache2ctl
?Réponses:
Essaye ça
la source
J'ai eu un problème similaire sur Ubuntu 13.10. Lors de l'exécution de l'installation de composer, il a produit la même erreur, se terminant par.
J'ai installé
mcrypt
etphp5-mcrypt
avec aptitude, etphp -m
ne s'affiche toujours pasmcrypt
comme une extension chargée:J'ai couru un
updatedb
, puislocate mcrypt
. J'ai trouvé monmcrypt.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
.Donc, je suis ensuite passé
mcrypt.ini
à/etc/php5/available-modules
, et j'ai défini les liens:Et de même pour
/etc/php5/apache2/conf.d
.Et le tour est joué
php -m
!la source
On dirait que l'extrait 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 suivantVous devriez pouvoir le copier à partir des autres configurations de l'intégration PHP comme
/etc/php5/cli/conf.d/mcrypt.ini
ou/etc/php5/conf.d/mcrypt.ini
, selon ce qui est installé sur votre système.la source
Le module mcrypt n'est pas activé par défaut. Activez le module mcrypt puis redémarrez apache ( crédit )
la source
Eh bien, c'est ça. On dirait que parfois nous sommes à la recherche de la manière la plus embrouillée de faire quelque chose d'aussi simple que «enmod»; ) Comme Boinst dit:
sudo php5enmod mcrypt
. Rechargez ensuite apache.la source