Jump to content

Error en Prestashop 1.4.1 / rijndael.php on line 42


000000001

Recommended Posts

Hola, hace 3 días instale la versión 1.4.1 de Prestashop en un servidor comercial en linux, durante la instalación todos los requisitos incluso los opcionales estaban bien, de hecho recuerdo que decía:

Mcrypt está disponible (aconsejable)


Hoy me llevo la sorpresa de que todo el sitio está en blanco, activo el mostrar errores y recibo la siguiente línea:

 Fatal error: Call to undefined function mcrypt_encrypt() in /home/web/public_html/classes/Rijndael.php on line 42



En otro tema hablaban de que el error era por instalar primero en local y después migrar a remoto, en mi caso no fue así, mi instalación desde el principio fue en el servidor remoto, tampoco tiene que ver con los permisos, los cheque dos veces.

La verdad no encuentro salida aparente que no sea reinstalar la versión estable anterior para evitar futuros dolores de cabeza, ¿alguien sabe si existe alguna solución? Sería bueno y se los agradecería para evitar volver a crear mi sitio desde cero.

Desde ya muchas gracias a quien pueda ayudarme.


ACTUALIZACÓN:

Los administradores del hosting reinstalaron el Mcrypt y el problema se solucionó, pero pude apreciar algo que no había visto pues el mostrar errores estaba desactivado, y es el siguiente error:

Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 1 in /home/web/public_html/classes/Tools.php on line 1561



Aparece en toda la página principal como 200 líneas iguales, al parecer no afecta el funcionamiento cuando desactivo el mostrar errores, pero cuando lo activo afecta al mostrar las imágenes en la tienda.

P.D Algún moderador puede mover este tema al foro de bugs.
Link to comment
Share on other sites

  • 1 month later...

Aupa 00000000001!

Yo estoy en la misma situación, solo que concretando mas el error:

http://www.prestashop.com/forums/viewthread/112621/discusin_general/error_classestools_dot_php_al_subir_de_local_al_servidor_tienda_de_la_1_dot_4/

Y como dices, si desactivo los errores, ya no da el error por ningún sitio. Claro que no veas que miedo da eso de:

"Ojos que no Ven, ost... que te pegas"

Ahí te va mi conclusión final:

.- En la instalación te dice que en tools/smarty/cache, le des permisos de escritura: 777. El problema, es que cuando genera los archivos de la cache, los crea como 664. Esto voy a probar a quitar el Safe Mode del hosting a ver si pasa por ahi...

.- Versiones de Php. He mirado las versiones de local (donde funciona todo a las mil maravillas), y en mi servidor de hosting, y son distintas. Miedo da, que Prestashop 1.4, la hayan desarrollado para la última de las últimas, porque los hosting trabajan con versiones estables, y necesitan de tiempo y muchas pruebas, para actualizarlas a otra nueva versión.

Versión Local (mamp en Mac os): PHP Version 5.2.17
Versión Servidor Hosting: PHP Version 5.1.6

Pues nada, a ver si entre todos damos con la solución pues! ;-).

Un saludo,

J.R. León

Link to comment
Share on other sites

Hola,

Os comento como lo he solucionado yo el error al subir de local a servidor con el famoso error con /classes/Rijndael.php

1º Acceder a la base de datos y en PS_CONFIGURATON buscar PS_CIPHER_ALGORITHM y ponerlo a 0
2º La carpeta tools/smarty/cache ponerla con permisos 777 tal y como comenta J.R.

Y hasta ahí todo funcionó. Si os da algún tipo de error más simplemente poner el directorio con el cual os da error con permisos 777.

No sé si el PS_CIPHER_ALGORITHM pasa algo por que esté a 0 pero si se vuelve a poner a 1 vuelve a salir el error.

Salu2

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

Gracias al usuario adrione por este Fix!

 

En mi caso, lo que sucedio fue que el proveedor de servicios de hosting movio su servidor, resultando en un cambio completo de direccionamiento IP.

 

Inmediatamente despues de haber hecho el cambio, tanto el Front como el BackOffice dejaron de funcionar. Tras revisar si la Base de Datos estaba funcionando sin problemas, revise el archivo error.log ubicado en la carpeta raiz de mi Tienda para encontrarme con el error :

 

 

PHP Fatal error: Call to undefined function mcrypt_encrypt() in /home/user/public_html/tienda/classes/Rijndael.php on line 44

 

Efectue la modificacion en la Base de Datos sugerida por adrione y logre tener acceso de nuevo a mi Tienda. Ahora, queda pendiente revisar los efectos de esta modificacion sobre el comportamiento del site y postear los resultados. Suerte!

Link to comment
Share on other sites

Gracias al usuario adrione por este Fix!

 

En mi caso, lo que sucedio fue que el proveedor de servicios de hosting movio su servidor, resultando en un cambio completo de direccionamiento IP.

 

Inmediatamente despues de haber hecho el cambio, tanto el Front como el BackOffice dejaron de funcionar. Tras revisar si la Base de Datos estaba funcionando sin problemas, revise el archivo error.log ubicado en la carpeta raiz de mi Tienda para encontrarme con el error :

 

 

PHP Fatal error: Call to undefined function mcrypt_encrypt() in /home/user/public_html/tienda/classes/Rijndael.php on line 44

 

Efectue la modificacion en la Base de Datos sugerida por adrione y logre tener acceso de nuevo a mi Tienda. Ahora, queda pendiente revisar los efectos de esta modificacion sobre el comportamiento del site y postear los resultados. Suerte!

 

 

UPDATE

 

He podido constatar que existen dos metodos de encripcion de los Cookies en Prestashop, llamados Mcrypt y Blowfish . Mcrypt es mas rapido en la tarea de encripcion, pero depende de la correcta implementacion de la libreria Mcrypt en PHP, mientras que Blowfish (mas lento) es implementado por software directamente por Prestashop.

 

Al haber efectuado mi proveedor de hosting la mudanza de servidor, debe haber obviado la configuracion de Mcrypt al instalar PHP, lo cual de segurod produjo la falla.

 

Solicitare hoy a mi proveedor revisar este punto y volvere a postear los resultados. Bye!

Link to comment
Share on other sites

  • 1 year later...

Hola,

 

Os comento como lo he solucionado yo el error al subir de local a servidor con el famoso error con /classes/Rijndael.php

 

1º Acceder a la base de datos y en PS_CONFIGURATON buscar PS_CIPHER_ALGORITHM y ponerlo a 0

2º La carpeta tools/smarty/cache ponerla con permisos 777 tal y como comenta J.R.

 

Y hasta ahí todo funcionó. Si os da algún tipo de error más simplemente poner el directorio con el cual os da error con permisos 777.

 

No sé si el PS_CIPHER_ALGORITHM pasa algo por que esté a 0 pero si se vuelve a poner a 1 vuelve a salir el error.

 

Salu2

 

Muchas gracias, a mi me ha funcionado en la 1.5.3.1 por si alguien se pregunta si esta solución es válida para la 1.5. Saludos.

Link to comment
Share on other sites

  • 1 month later...

Muchas gracias, a mi me ha funcionado en la 1.5.3.1 por si alguien se pregunta si esta solución es válida para la 1.5. Saludos.

 

Buenas. El tema es un poco viejo, pero la solución esta en vuestro hosting que ha de instalar php5-Mcrypt y configurarlo correctamente.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...