Introducción al Error HTTP 500 al Subir Imágenes en PrestaShop
Uno de los dolores de cabeza más comunes para los administradores de tiendas online es encontrarse con el temido error HTTP 500 justo al intentar añadir o actualizar la imagen de un producto en el backoffice de PrestaShop. Este fallo interrumpe la gestión del catálogo y suele generar mucha frustración debido a su aparente falta de detalles visibles.
Causas Principales del Problema
El código de estado HTTP 500 es un error genérico del servidor, pero en el contexto de la subida de imágenes en PrestaShop, suele estar relacionado con motivos muy específicos:
- Agotamiento del límite de memoria RAM asignada a PHP (memory_limit).
- Falta de tiempo de ejecución suficiente para procesar imágenes pesadas (max_execution_time).
- Problemas de permisos en la carpeta
/img/p/y sus subdirectorios. - Incompatibilidad o limitaciones en la librería de procesamiento de imágenes GD o ImageMagick.
Método 1: Aumentar los Límites de Memoria y Tiempo en PHP
Dado que PrestaShop redimensiona automáticamente las imágenes subidas en múltiples formatos (grande, pequeña, atrayente, etc.), el proceso consume una gran cantidad de recursos del servidor. Para solucionar esto, debes editar el archivo php.ini de tu alojamiento o solicitar a tu proveedor que ajuste los siguientes valores:
- Accede al panel de control de tu hosting (cPanel, Plesk, etc.) y busca el selector de versiones de PHP o el Administrador de Archivos.
- Localiza el archivo
php.inien la raíz de tu instalación o créalo si no existe. - Añade o modifica las siguientes directivas con valores recomendados:
memory_limit = 512Mmax_execution_time = 300post_max_size = 64Mupload_max_filesize = 64M - Guarda los cambios y recarga tu panel de administración en PrestaShop.
Método 2: Corregir los Permisos de Archivos y Carpetas
Si los permisos de escritura en el servidor están mal configurados, PrestaShop no podrá guardar las imágenes procesadas en el disco, provocando el fallo interno.
- Conéctate a tu servidor mediante un cliente FTP (como FileZilla) o usa el Administrador de Archivos del hosting.
- Navega hasta la carpeta principal de tu tienda PrestaShop.
- Localiza la carpeta
imgy haz clic derecho sobre ella para verificar sus permisos (CHMOD). - Asegúrate de que los permisos estén establecidos en
755para carpetas y644para archivos, y asegúrate de marcar la opción de aplicar recursivamente a todas las subcarpetas (especialmente/img/p/).
Método 3: Cambiar la Biblioteca de Imágenes (GD a ImageMagick o viceversa)
A veces, la biblioteca predeterminada que utiliza tu servidor para manipular gráficos presenta incompatibilidades con ciertos formatos de imagen (como PNG pesados o JPGs con perfiles de color específicos).
- Entra en tu backoffice de PrestaShop con permisos de superadministrador.
- Dirígete al menú Parámetros avanzados y luego haz clic en Rendimiento.
- Desplázate hacia abajo hasta la sección de características del servidor o ajustes multimedia.
- Busca la opción relacionada con la biblioteca de imágenes y cambia de GD a ImageMagick (o viceversa, según lo que tenga activo tu servidor).
- Haz clic en Guardar y prueba a subir una imagen nuevamente para comprobar que el error ha desaparecido.