php7 not instalar found php centos mcrypt

php - not - problema con la instalación de mcrypt



php7 2-< mcrypt (6)

Le pedí a los administradores del sistema que instalen mcrypt en el servidor y dicen que todo está bien. Pero cuando ejecuto mi script simple obtengo esto.

Advertencia: mcrypt_get_iv_size () [function.mcrypt-get-iv-size]: Falló la inicialización del módulo

Viene de esta línea:

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);

Ahora, desde este código:

$algorithms = mcrypt_list_algorithms("/usr/local/bin/mcrypt"); foreach ($algorithms as $cipher) { echo "$cipher<br />/n"; }

Yo obtengo:

Advertencia: mcrypt_list_algorithms () [function.mcrypt-list-algorithms]: no se encontraron algoritmos en el módulo dir

Cuando ejecuto esto:

$modes = mcrypt_list_modes("/usr/local/bin/mcrypt"); foreach ($modes as $mode) { echo "$mode <br />/n"; }

Yo obtengo:

Advertencia: mcrypt_list_modes () [function.mcrypt-list-modes]: No se encontraron modos en el módulo dir

Sin embargo, al ejecutar este comando, este comando

which mcrypt; mcrypt -v

Produce:

/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 ([email protected])

¿Está mcrypt instalado / configurado correctamente?

ACTUALIZAR:

Hice esto:

whereis libmcrypt

... y obtuve el resultado:

libmcrypt: /usr/local/lib/libmcrypt /usr/local/lib/libmcrypt.so /usr/local/lib/libmcrypt.la

También he cambiado:

$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");

a...

$modes = mcrypt_list_modes("/usr/local/lib/libmcrypt"); $algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");

Como se recomienda, pero aún así recibe el error:

Advertencia: mcrypt_list_modes () [function.mcrypt-list-modes]: No se encontraron modos en el módulo dir en

Luego entré al administrador de archivos en mi CPanel a /usr/local/lib/libmcrypt . El directorio existe pero no tiene archivos ...

Aquí está la pantalla de impresión del administrador de archivos.

Gracias.


El directorio de algoritmos de mcrypt debe ser un directorio que contenga los algoritmos, no un binario . Esto significa que esto:

$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");

Debería ser esto en su lugar (suponiendo que mcrypt esté instalado es /usr/local/lib/libmcrypt ):

$modes = mcrypt_list_modes("/usr/local/lib/libmcrypt");

Si el directorio donde está instalado libmcrypt no es el anterior, debe actualizar su configuración de php.ini . Tomado de php.ini :

[mcrypt] ; Directory where to load mcrypt algorithms ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) ;mcrypt.algorithms_dir= ; Directory where to load mcrypt modes ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) ;mcrypt.modes_dir=

Si tiene acceso al shell, puede probar este comando para encontrar el directorio lib para su instalación de mcrypt:

whereis libmcrypt

o...

whereis mcrypt

Dependiendo de tu configuración


Tuve exactamente el mismo problema.

> mcrypt -v Mcrypt v.0.9.9 (sparc-sun-solaris2.10) Linked against libmcrypt v.2.5.8 > mcrypt --list-hash Supported Hash Algorithms: crc32 md5 sha1 haval256 ripemd160 tiger gost [...] > php CryptoTest.php PHP Warning: mcrypt_list_modes(): No modes found in module dir in [...]

Fue resuelto al reconfigurar y recompilar libmcrypt con estas opciones:

./configure --prefix=$YOUR_PATH/libmcrypt --enable-dynamic-loading --disable-posix-threads

Luego en tu php.ini:

mcrypt.algorithms_dir=<YOUR_PATH>/libmcrypt/lib/libmcrypt mcrypt.modes_dir=<YOUR_PATH>/libmcrypt/lib/libmcrypt


Pruebe esto con su problema de mcrypt:

mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/ sudo php5enmod mcrypt sudo service apache2 restart

Es un error con la ubicación del archivo mcrypt.ini.

Tuve el mismo error, hice un cp en lugar de un mv para estar seguro, pero resolvió el problema.

Para PHP no funciona, si obtienes phpmyadmin funcionando (incluso con el error mcrypt), significa que PHP está funcionando (porque phpmyadmin usa PHP). Pero en tu ejemplo

<? echo $row[''details'']; ?> cambiar <? a <?php y prueba de nuevo?


En Ubuntu 14.04 solo necesita hacer solo tres pasos como sudo:

apt-get install php5-mcrypt php5enmod mcrypt service apache2 restart


Cómo instalar mcrypt en MAC OSX:

Hola, probado y trabajando en Mac OSX El Capitán:

1. Descargue mcrypt: http://www.viames.it/download/elcapitan/mcrypt.so

2. Ponlo en:

/ usr / lib / php / extensions / mcrypt

3. Modifica tu ''php.ini''

/etc/php.ini

y agrega la siguiente línea:

extension = /usr/lib/php/extensions/mcrypt.so

4. Compruebe si ''mcrypt'' está cargado con el siguiente comando:

php -m

resultado de la consola php -m

5. Crea un ''phpinfo.php'' con contenido:

<?php echo phpinfo(); ?>

y vea si mcrypt está en la lista:

phpinfo () muestra ahora mcrypt para ser cargado

Sí, sé que soy un gangsta.


Arquitectura: instalación de Centos 6 / Apache 2.2 / Dual PHP (5.3 y 5.4)

ACTUALIZACIÓN: Esta solución explica cómo instalar el módulo mcrypt con PHP 5.4 manualmente desde Remi''s RPM en Centos 6, pero este RPM requiere glibc-2.14 +, por lo que esto no es suficiente para que funcione, si su glibc es anterior a eso.

En mi configuración, Yum install php-mcrypt* mostró como instalada la versión para 5.3 en la raíz normal:

php-mcrypt.x86_64 5.3.3-5.el6 @epel

Sin embargo, 5.4 es chrooted en /opt/rh/php54

Simplemente copiando los 5.3 módulos y archivos de configuración no funciona . El módulo falla la inicialización, es por eso que no aparece en phpinfo (), esto se puede verificar con

/opt/rh/php54/root/usr/bin/php -v

La solución que funcionó para mí es descargar el RPM de Remi (aunque normalmente es más fácil de instalar agregando su repositorio de Yum como se discutió en los Comentarios) ( https://www.rpmfind.net/linux/RPM/remi/fedora/ 25 / x86_64 / php54-php-mcrypt-5.4.45-12.fc25.remi.x86_64.html )

wget ftp://fr2.rpmfind.net/linux/remi/fedora/25/remi/x86_64/php54-php-mcrypt-5.4.45-12.fc25.remi.x86_64.rpm

extraer los archivos con RPM2CPIO:

rpm2cpio php54-php-mcrypt-5.4.45-12.fc25.remi.x86_64.rpm |cpio -idmv ./opt/remi/php54/root/etc/php.d/mcrypt.ini ./opt/remi/php54/root/usr/lib64/php/modules/mcrypt.so 98 blocks

Y copia a la carpeta chroot

cp ./opt/remi/php54/root/etc/php.d/mcrypt.ini /opt/rh/php54/root/etc/php.d/mcrypt.ini cp ./opt/remi/php54/root/usr/lib64/php/modules/mcrypt.so /opt/rh/php54/root/usr/lib64/php/modules/

Verificar:

/opt/rh/php54/root/usr/bin/php -v

Y también:

<html> <body> <?php phpinfo(); ?> </body> </html>