¿Qué pasa? ¡He copiado un Prestashop de local a producción pero no puedo entrar en el panel de control de producción!

A veces pasa que no podemos entrar en el panel de administración de nuestro Presta de producción porque hay que actualizar la contraseña del administrador de acuerdo a la constante _COOKIE_KEY_.

¡Sorpresa!

En concreto, hay que generar una nueva contraseña concatenando el valor de _COOKIE_KEY_ con el nuevo password, md5-codificar el nuevo valor obtenido, y actualizar los cambios en la tabla ps_employee

Por tanto, lo primero que hay que hacer es editar el archivo settings.inc.php para consultar el valor de _COOKIE_KEY_

define('_COOKIE_KEY_', 'd80Ic7MtULItVKzKpkudhm47orOdr8VI2zoaUDmp5eTyue1rGHj5sA8Z');

Luego, md5-codificamos la concatenación de _COOKIE_KEY_ y la nueva contraseña.

En MySQL:

SELECT MD5("d80Ic7MtULItVKzKpkudhm47orOdr8VI2zoaUDmp5eTyue1rGHj5sA8ZMiPassword2012");
+-------------------------------------------------------------------------------+
| MD5("d80Ic7MtULItVKzKpkudhm47orOdr8VI2zoaUDmp5eTyue1rGHj5sA8ZMiPassword2012") |
+-------------------------------------------------------------------------------+
| 782f5b0f6e4951ff15441d9e35dfab98                                              |
+-------------------------------------------------------------------------------+
1 row in set (0.00 sec)

En Ubuntu:

echo -n 'd80Ic7MtULItVKzKpkudhm47orOdr8VI2zoaUDmp5eTyue1rGHj5sA8ZMiPassword2012' | md5sum
782f5b0f6e4951ff15441d9e35dfab98 -

Finalmente, con el md5 ya calculado, actualizamos la contraseña del administrador:

UPDATE ps_employee SET passwd="782f5b0f6e4951ff15441d9e35dfab98" WHERE id_employee=1

Este problema se discute en este hilo del foro oficial de Prestashop.