He hecho esto muchas veces:
sudo aptitude install php5-mcrypt
sudo apache2ctl restart
aptitude dice que mcrypt está instalado. Ya lo he reinstalado 3 veces. He reiniciado Apache unas 20 veces desde que lo instalé. Cuando miro phpInfo, no veo mcrypt en la lista. Cuando intento ejecutar mi código, dice que la función mcrypt (elegir uno, cualquiera) no existe. mcrypt claramente no está habilitado.
¿Alguien tiene alguna idea de lo que podría estar mal? No sé qué piezas deberían estar dónde y cómo se supone que todo esto encaja.
Instalé PHP 5.5.3

apt-get/aptitude)? El paquetephp5-mcryptsolo puede configurar la extensión paraphp.inilo que "conoce". En segundo lugar, no sé siapache2ctlvuelve a cargar los módulos. La forma "normal" de reiniciar Apache sería algo asísudo service apache2 restart. Tercero, ¿cómo se conecta PHP a su Apache? Si usa algo como (f) cgi o php-fpm (en contraste con mod-php), probablemente tendrá que reiniciar PHP por su cuenta, además de reiniciar Apache.php.iniaparece en la salida dephpinfo(aproximadamente de la 5ª a la 7ª entrada)? Debería ser un archivo/etc/php5/. Si busca en ese archivomcrypt, ¿qué aparece?mcryptpaquete. Ese es el programa de línea de comandos que usa libmcrypt, al igual que la extensión PHP. Por lo tanto, debe asegurarse de que el paquetelibmcrypt4esté instalado. ¿Hay unphp.inifragmento en/etc/php5/conf.d/mcrypt.ini? Eso debería cargar la biblioteca. ¿Es ese fragmento cargado por PHP (verphpinfo)? De nuevo, ¿ha intentado reiniciar Apache con ensudo service apache2 restartlugar deapache2ctl?Respuestas:
Prueba esto
fuente
Tuve un problema similar en Ubuntu 13.10. Al ejecutar la instalación del compositor, produjo el mismo error, terminando en.
Lo instalé
mcryptyphp5-mcryptcon aptitude, y aúnphp -mno aparecíamcryptcomo una extensión cargada:Corrí un
updatedb, y luegolocate mcrypt. Encontré mimcrypt.inien/etc/php5/conf.d. Sin embargo, todas las otras extensiones (como json) tenían sus archivos .ini en/etc/php5/apache2/conf.dy/etc/php5/cli/conf.d. Estos dos fueron enlaces a../../mods.available.Por lo tanto, luego se trasladó
mcrypt.inia/etc/php5/available-modules, y establecer los enlaces:Y de manera similar para
/etc/php5/apache2/conf.d.Y voila, apareció en
php -m!fuente
Parece que falta el fragmento ini que carga libmcrypt cuando Apache llama a PHP. Debería haber un archivo llamado
/etc/php5/apache2/conf.d/mcrypt.inicon el siguiente contenidoDebería poder copiarlo desde las otras configuraciones de integración de PHP como
/etc/php5/cli/conf.d/mcrypt.inio/etc/php5/conf.d/mcrypt.ini, dependiendo de lo que esté instalado en su sistema.fuente
El módulo mcrypt no está habilitado de forma predeterminada. Habilite el módulo mcrypt y luego reinicie apache ( crédito )
fuente
Bueno, ya está. Parece que a veces estamos buscando la forma más enredada de hacer algo tan simple como 'enmod'; ) Al igual que Boinst dice:
sudo php5enmod mcrypt. Luego vuelve a cargar apache.fuente