Tras la reciente liberación de PrestaShop 1.7.4.0 se han detectado algunos problemas importantes en esta versión que han obligado al equipo de desarrollo a liberar PrestaShop 1.7.4.1 para resolverlos.
Cuando se intentaba hacer una instalación limpia con PrestaShop 1.7.4.0 se hacían muchas llamadas AJAX que en servidores con recursos bajos o enjaulados provocaba un error que impedía continuar con la instalación, obligando a realizar un rollback.
Además había que añadir un problema de SQL a la 1.7.4.0 cuando se intentaba actualizar desde una versión 1.7.x a la estable, en el proceso de sobrescritura de registros en la base de datos, dejaba la tienda con un error 500 que obligaba a restaurarla desde una copia de seguridad ya que el “revertir” era inviable.
Tabla de contenidos
Mejoras y correcciones
Las dos correcciones más importantes son las indicadas antes, con el instalador para usuarios que descargaron el archivo ZIP de PrestaShop 1.7.4.0 y trataban de instalarlo en servidores con pocos recursos, lo que provocaba que la escritura en disco (I/O) aumentase de forma desmesurada al 90% o 100% y el proceso no concluyese o acabase con un errores AJAX:
[Ajax / Server Error for action upgradeFiles] textStatus: "error " errorThrown:"Internal Server Error " jqXHR:
También, en el proceso de actualización de una versión 1.7.x el usuario se enfrentaba en la fase de sobrescritura de registros de la base de datos a otro error SQL que impedía la correcta conclusión de la actualización que acababa en un error 500 que además dejaba el BO inutilizable con la consiguiente imposibilidad de realizar un “rollback” a la versión anterior guardada por el CMS.
Puedes consultar la lista completa de mejoras y cambios aplicados en el changelog de esta versión:
Requisitos de PrestaShop 1.7.4.1
A continuación te indico la configuración del servidor recomendada para ejecutar Prestashop 1.7, versión estable del momento:
- Versión PHP mínima: 5.6.30. Solo para PS 1.7.0
- Versión PHP recomendada: 7.1 Para PS 1.7.0 a 1.7.3 (Funciona más rápido).
- Versión PHP para PrestaShop 1.7.4.1: 7.2.
- Accelerators: No requerido (1)
- magic_quotes_gpc: off
- memory_limit: 512M
- max_execution_time: 300
- max_input_time: 300
- upload_max_filesize: 20M
- post_max_size: 20M
- max_input_vars: 10000
- allow_url_fopen: on (Activado permite importar imágenes).
- safe_mode: off
- cURL: (Con cURL instalado pasarelas como Paypal y otras funcionan sin problemas).
- mod_rewrite: instalado y activado.
- mod_security: off
- JSON: ON
- ctype: ON
- mySQL: 5.7 o superior (mejor rendimiento con mariaDB).
- mySQL: INNODB (myIsam no funciona correctamente).
- php.ini: (Debe incluir date.timezone).
- Open SSL: Versión 1.0.2 o superior.
- Servidores: Linux (Prestashop no es recomendable para servidores de Windows/IIS).
- cageFS y otro Firewall técnico en el servidor configurado correctamente para que en el backoffice no sea muy lento el bloquear los servicios externos que usa Prestashop.
- suhosin.request.max_vars = 20000 o superior.
- suhosin.post.max_vars = 20000 o superior.
- max_input_vars = 20000 o superior
Adicionalmente se recomiendan las siguientes configuraciones para Opcache:
- opcache.revalidate_freq = 0
- opcache.validate_timestamps = 0 (comentar esto en entorno de desarrollo).
- opcache.max_accelerated_files = 7963
- opcache.memory_consumption = 192
- opcache.interned_strings_buffer = 16
- opcache.fast_shutdown = 1
(1) Es más recomendable utilizar fpm-php + opcache + fast-cgi y ngnix proxied.
Para más cantidad de productos es posible que los recursos mínimos no sean suficientes.
Actualizar a PrestaShop 1.7.4.1
Si tienes la Tienda en producción, realiza una copia de seguridad antes de actualizar. De esta forma estarás generando una copia de tu web anterior a la actualización para volver al momento anterior.
Proceso resumido de actualización de PrestaShop:
- Desde tu Panel de Hosting comprueba que los archivos y carpetas de la web de PrestaShop tiene los permisos adecuados (755, 644)
- S¿Cliente de Webempresa? ejecuta Stephan desde tu Área de Cliente para que verifique los permisos de la web.
- Accede al backoffice de tu Tienda PrestaShop 1.7
- Ve a Personalizar, Módulos, Módulos instalados.
- Comprueba que tienes instalado el módulo “1-Click Upgrade” (Actualización en 1-Clic) versión 4.0.0. 1
- Si el módulo está instalado accede directamente a Más, 1-Click Upgrade (menú izquierdo).
- Activa el Modo Mantenimiento, de lo contrario no podrás actualizar.
- Comprueba en Comenzar Actualización que existe una versión nueva disponible superior a la instalada.
- Haz clic en el botón azúl ¡ACTUALIZAR PRESTASHOP AHORA!.
- Espera a que concluya el proceso, puede tardar.
- Concluida la actualización verifica que el aviso de actualización es correcto.
- Haz clic en el menú izquierdo Inicio.
- Accede de nuevo al BO (habrás perdido la sesión tras actualizar).
- Desactiva el Modo Mantenimiento (opción superior derecha del BO).
- Ve a Configurar, Parámetros Avanzados, Rendimiento y haz clic en Borrar la caché.
- Comprueba el funcionamiento del back y del front office de la Tienda.
Si todo ha ido correctamente ¡Felicidades! ya has actualizado a la nueva versión estable y deberías ver esta pantalla.
Haz clic en la imagen para ampliarla
1 Si no tienes instalado el módulo Actualización 1-click localízalo en Módulos, Módulos y Servicios, y búscalo utilizando el buscador e instala concretamente la versión 4.0.0 que es la que actualmente recomienda el equipo de PrestaShop.
Haz clic en la imagen para ampliarla
Esta actualización afecta a 62 archivos que serán modificados y 3 archivos serán eliminados (si existen).
Solución a posibles problemas de actualización
Si durante el proceso de actualización desde versiones 1.7.x anteriores (1.7.0 a 1.7.3) se presentan errores y la actualización no concluye, es posible que esté causado por AJAX en el módulo 1-click Upgrade” de la versión actual 3.0.5 que presenta errores con upgradeFiles
y rollback
si se pretende “revertir” la actualización tras el intento de upgrade.
No se recomienda el uso de la versión 3.0.5 del módulo 1-Click Upgrade.
Se ha comprobado en diferentes instalaciones que la Tienda queda funcionando con normalidad tras la actualización a la nueva versión.
Vídeo de Actualización de PrestaShop
En este vídeo te muestro como actualizar una tienda con la versión 1.7.4.0 a la versión estable actual 1.7.4.1, usando el método del módulo Actualización 1-click poniendo antes la web en “modo mantenimiento”.
Recuerda que ante fallos o errores tras actualizar, que sigan permitiendo trabajar en el BO, siempre puedes usar la opción Revertir para volver al momento anterior a la actualización.
¿Puedes seguir usando PrestaShop 1.6.x?
PrestaShop 1.6.x seguirá siendo la versión estable y recibiendo actualizaciones de seguridad y mantenimiento hasta octubre de 2018 pero no se le aplicarán nuevas mejoras o funcionalidades a esta rama.
Desde hace 3 meses está disponible el módulo BETA “1-click upgrade” que debería permitir la actualización desde PrestaShop 1.6.x a la nueva rama 1.7.x pero tras numerosas pruebas se ha comprobado que falla bastante, no hace una migración correcta de la tienda a la nueva versión y presenta inconvenientes con el Tema, dependiendo de cual tengamos instalado, sobre todo si es “comercial”, por lo que no es recomendable el uso de dicho módulo.
La recomendación es mantenerse en versiones “estables” en la rama en la que se encuentre tu instalación, y que esperar a que se libere el módulo “oficial y estable” de 1-click Upgrade para hacer la transición entre ramas de forma segura.
Otra opción es exportar en CSV de la versión 1.6.x e importar en una instalación limpia 1.7.4.0 y realizar los ajustes pertinentes.
Conclusiones
Las nuevas versiones surgen para corregir problemas detectados en anteriores versiones del CMS por lo que es siempre importante aplicarlas y mantener las tiendas actualizadas.
No obstante si una actualización rompe funcionalidades que son necesarias para el correcto desempeño de tu tienda, puedes optar por mantenerte en la versión bajo la que si funciona la tienda y permanecer a la espera de nuevas versiones que mejoren el funcionamiento de la web pero no rompan sus funcionalidades.
¿Te ha resultado útil este artículo?
Miembro del equipo de soporte técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Soporte técnico en CiberProtector. Teacher en Webempresa University