24 enero 2013

Solución: PHPMyAdmin No se pudo cargar la extensión mcrypt, <br/> ...

Problema: al ejecutar PHPMyAdmin aparece un error y/o aviso, No se pudo cargar la extensión mcrypt,<br/> ; por favor revise su configuración de PHP. En mi caso particular fue en un Linux Ubuntu, y la solución la describiré para tal sistema.

Solución: Abrir una consola y ejecutar:
alejandro@ubuntu:~$ sudo updatedb
Esto suele tardar varios segundos, luego ejecutamos
alejandro@ubuntu:~$ locate libmcrypt
/usr/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4.4.8 /usr/share/doc/libmcrypt4 /usr/share/doc/libmcrypt4/changelog.Debian.gz /usr/share/doc/libmcrypt4/changelog.gz /usr/share/doc/libmcrypt4/copyright /var/cache/apt/archives/libmcrypt4_2.5.8-3.1_amd64.deb /var/lib/dpkg/info/libmcrypt4.list /var/lib/dpkg/info/libmcrypt4.md5sums /var/lib/dpkg/info/libmcrypt4.postinst /var/lib/dpkg/info/libmcrypt4.postrm /var/lib/dpkg/info/libmcrypt4.shlibs

Las librerías que buscamos están en las dos primeras líneas en la ubicación "/usr/lib" Entonces ahora hay que buscar y modificar los php.ini para indicarles esta ruta Búsqueda: alejandro@ubuntu:~$ locate php.ini /etc/php5/apache2/php.ini /etc/php5/cli/php.ini /usr/share/doc/php5-common/examples/php.ini-development /usr/share/php5/php.ini-production /usr/share/php5/php.ini-production-dist /usr/share/php5/php.ini-production.cli

Modificación: Abrimos los archivos como superusuario (root) :
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
Nos vamos a la sección del archivo donde está [mcrypt]
; For more information about mcrypt settings see http://php.net/mcrypt-module-open ; 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=

Cambiamos las líneas 1841 y 1844 así;
mcrypt.algorithms_dir="/usr/lib"
mcrypt.modes_dir= "/usr/lib"

NOTA: quitar el punto y coma del principio de estas dos líneas

Reiniciamos apache alejandro@ubuntu:~$ sudo /etc/init.d/apache2 restart
Y comprobamos el resultado ejecutando phpMyAdmin, esto es todo.