1

Magento: «extension curl/mcrypt must be loaded» y otros errores de instalación

El otro día tuve que instalar un Magento en un Windows XP con AppServ (WAMP). Magento es un proyecto Open Source que sirve para crear aplicaciones eCommerce de una manera sencilla.

Es potente y bastante completo, y en pocos pasos podemos poner una tienda virtual online. Pero, en mi opinión, su instalación no es sencilla, tiene demasiadas cosas a tener en cuenta y no creáis que las soluciones son nada intuitivas (al menos en un Windows con AppServ). Me encontré con 4 errores en la instalación que paso a relataros.

curl-mcrypt-must-be-loaded

Cookies en localhost

Si vas a trabajar en local para hacer las pruebas, Magento tendrá un problema con las cookies. Hay dos formas de solucionar esto:

  1. Configurar un virtual host del estilo «www.dominio.com», o bien
  2. abre el archivo app/code/core/Mage/Core/Model/Session/Abstract/Varien.php y busca:
<?php
session_set_cookie_params(
    $this->getCookie()->getLifetime(),
    $this->getCookie()->getPath(),
    $this->getCookie()->getDomain(),
    $this->getCookie()->isSecure(),
    $this->getCookie()->getHttponly()
);
?>

Comenta las 3 últimas líneas.

<?php
session_set_cookie_params(
    $this->getCookie()->getLifetime(),
    $this->getCookie()->getPath(),
    // $this->getCookie()->getDomain(),
    // $this->getCookie()->isSecure(),
    // $this->getCookie()->getHttponly()
);
?>

Recuerda volver a descomentar estas líneas cuando pongas tu Magento en el servidor de producción.

Cualquiera de estas dos soluciones servirá. Yo elegí la primera, ya que es más cómoda y seguro que luego se me habría olvidado descomentar las líneas otra vez.

extension curl must be loaded

Antes de nada, tenemos que buscar el archivo php.ini. Para asegurarnos de donde está, creamos un archivo PHP y escribimos en él:

<?php phpinfo(); ?>

Abrimos este archivo en el navegador y buscamos la línea Loaded Configuration File. Ese será el archivo php.ini que tenemos que editar.

Abrimos el archivo php.ini con cualquier editor y buscamos la línea:

;extension=php_curl.dll

Le borramos el punto y coma para que quede:

extension=php_curl.dll

Por último vamos a la carpeta donde tengamos el PHP instalado (normalmente en C:AppServphp5) y copiamos los archivos libeay32.dll y ssleay32.dll a la carpeta C:WindowsSystem32.

extension mcrypt must be loaded

Igual que hemos hecho antes, abrimos nuestro archivo php.ini y editamos la siguiente línea:

;extension=php_mcrypt.dll

Le quitamos el punto y coma para que quede:

extension=php_mcrypt.dll

Y por último copiamos de la carpeta de PHP (recuerda, C:AppServphp5) el archivo libmcrypt.dll a C:WindowsSystem32.

Después de estos dos últimos cambios, reiniciamos el servidor Apache y no nos tiene que salir ninguno de los dos errores.

Database server does not support InnoDB storage engine

Si tu servidor de base de datos no está configurado para soportar InnoDB, Magento no funcionará. MySQL 5 viene por defecto con soporte para bases de datos InnoDB. Si no lo tenemos activado, abrimos el fichero my.ini (que estará en C:AppServMySQL) y buscamos la línea:

skip-innodb

Lo que tenemos que hacer es comentar ese linea, añadiendo un # al principio de la línea para que quede así:

#skip-innodb

Reiniciamos el servidor de mysql y todo deberá funcionar correctamente.

Antes de instalar un Magento en tu ordenador, debes asegurarte que tu servidor está correctamente configurado para hacerlo funcionar. Las soluciones que he propuesto aquí son válidas si tienes acceso a los archivos de configuración de Apache, PHP y MySQL, pero si estás en un servidor compartido lo más probable es que no puedas editar esos archivos.

Para asegurarte, Magento tiene un archivo de verificación para saber si tu servidor está configurado para hacerlo funcionar. Descomprímelo, sube el archivo a tu servidor y ábrelo con un navegador. Si no te ha dado ningún error, Magento correrá en tu servidor. Si tienes errores, ponte en contacto con el proveedor de tu alojamiento y mira a ver si, con suerte, pueden editarte los ficheros de configuración para instalar esta fantástica herramienta.

1 comentario

  1. para los que usan XAMPP y tienen el problema de con extension=php_curl.dll tienen que ingresar a la ruta XAMPPPHP.ini y editar esta linea

    ;extension=php_curl.dll solo tienen que eliminar el punto y coma quedando asi extension=php_curl.dll luego de esto reinicien el xampp control (colocando stop a los servicios que tienen funcionando y luego hacerlos correr)

    esto seria todo.

Responder a Simon

*

*

Cancelar respuesta

Para añadir código formateado, escribe el código entre <pre lang="php" line="1"> y </pre>

Si quieres un avatar personalizado, créate uno en gravatar.com con tu dirección de correo. Cada vez que comentes con ese correo, aparecerá tu avatar personalizado.