Actualizar un módulo PrestaShop: el error Upload failed
Actualizar un módulo. Subes el zip de la versión nueva encima de la que ya tienes instalada, desde el gestor de módulos: ajustes, contenidos y datos se quedan donde están. Si en lugar de la confirmación lees «Upload failed», el módulo puede haberse desactivado sin que nadie te lo diga. Aquí abajo tienes qué ocurre y cómo volver a ponerlo en marcha.
1. Cómo se actualiza un módulo
- Descarga el zip de la versión nueva desde la página Mis licencias de tu cuenta.
- En el back office ve a Módulos → Gestor de módulos → Subir un módulo y elige el zip.
- PrestaShop sustituye los archivos y lanza la actualización solo. No desinstales nada: desinstalar borra los ajustes, actualizar no.
- Cuando termine la subida, abre Configurar y comprueba que el número de versión sea el nuevo.
2. Si la actualización dice «Upload failed»
Cuando subes el zip de un módulo que ya tienes instalado, PrestaShop sustituye los archivos y después lanza la actualización. Si algo se atasca a medio camino, PrestaShop desactiva el módulo por prudencia y, por desgracia, no te lo escribe: solo ves el mensaje «Upload failed».
No has perdido nada: los ajustes y los datos del módulo siguen en su sitio. Solo tienes que volver a ponerlo en marcha, después de quitar la causa.
Paso 1: mira si el módulo se ha desactivado back office
Ve a Módulos, gestor de módulos, busca el módulo y mira si el botón pone «Activar» en vez de «Configurar». Si pone «Activar», el módulo se ha desactivado.
Paso 2: si tienes varias tiendas, comprueba tienda por tienda multitienda
Arriba a la izquierda elige una tienda cada vez y mira el módulo en cada una. Puede estar encendido en una tienda y apagado en otra: en ese caso la lista parece correcta, pero en esa tienda el módulo ya no funciona.
Paso 3: quita la causa permisos de los archivos
La causa casi siempre es una sola: los archivos del módulo en el servidor no se pueden modificar desde el programa que hace funcionar la web. Pide a tu alojamiento o a tu técnico que arregle el propietario y los permisos de la carpeta modules/<nombre del módulo>: normalmente el mismo propietario que el resto de archivos de la web, carpetas en 755 y archivos en 644. Otras causas posibles: el disco lleno, o un archivo más grande de lo que el servidor acepta.
Paso 4: vuelve a subir el zip último paso
Arreglada la causa, vuelve a subir el zip: esta vez la actualización llega a buen puerto. Si necesitas el módulo funcionando antes, pulsa «Activar» en el gestor de módulos, pero sube el zip de todas formas, o te quedas con los archivos a medias.
3. Por qué pasa
No es un defecto del módulo que estás actualizando. Si PrestaShop se encuentra con cualquier error mientras se sube el zip, desactiva el módulo en el que estaba trabajando: pasa con cualquier módulo, de cualquier autor, con la multitienda encendida o apagada. La decisión es prudente, porque si la sustitución de los archivos se ha parado a medias, en el servidor queda un módulo con una parte de archivos nuevos y otra de viejos, y dejarlo funcionar así sería peor. Lo único que falta es el aviso: PrestaShop escribe «Upload failed» y no dice que el módulo se ha apagado.
4. Cómo evitar que vuelva a pasar
- Sube siempre los archivos de la web con el mismo usuario con el que corre PHP. Si los has subido por FTP, o has instalado por línea de comandos como administrador, hay que recolocar los permisos.
- Comprueba el espacio libre en disco antes de actualizar.
- Si el zip es grande, pregunta a tu alojamiento los límites de PHP
upload_max_filesizeypost_max_size. - Actualiza un módulo cada vez y mira el resultado antes de pasar al siguiente.
5. Preguntas frecuentes
¿Pierdo los ajustes del módulo al actualizar?
No. Subir el zip solo sustituye los archivos: ajustes, contenidos y datos se quedan en la base de datos. Se pierden si desinstalas el módulo, pero para actualizar nunca hace falta desinstalar.
¿Tengo que desinstalar el módulo antes de actualizarlo?
No, y es mejor que no lo hagas. Sube el zip nuevo encima de la versión que ya tienes: PrestaShop ve que el módulo está ahí y lanza la actualización solo.
He pulsado «Activar» y el módulo funciona: ¿tengo que subir el zip igualmente?
Sí. Si la subida se paró a medias, en el servidor hay archivos de dos versiones distintas. Activarlo pone el módulo en marcha enseguida, pero la actualización hay que terminarla volviendo a subir el zip.
¿Cómo sé si el módulo está apagado en una sola de mis tiendas?
Con el selector de arriba a la izquierda del back office elige una tienda cada vez y abre el gestor de módulos: el módulo hay que mirarlo en cada tienda. En la vista «todas las tiendas» puede parecer encendido aunque en una no lo esté.
¿Dónde encuentro el zip de la versión nueva?
En la página Mis licencias de tu cuenta, donde está siempre la última versión a la que tienes derecho. Las actualizaciones están incluidas durante 12 meses, después la renovación es opcional.
