Introducción
Uno de los problemas más frustrantes para los administradores de tiendas online es encontrarse con el temido Error HTTP 500 justo en el momento de subir las fotografías de los productos en PrestaShop. Este fallo interrumpe la gestión del catálogo y suele dejar a los usuarios sin saber exactamente qué está fallando en el servidor.
¿Cuáles son las causas del Error HTTP 500 al subir imágenes?
El código de estado HTTP 500 es un error genérico del servidor, pero cuando ocurre específicamente al subir archivos multimedia en PrestaShop, suele estar relacionado con factores muy concretos:
- Límite de memoria PHP agotado: Las imágenes de alta resolución requieren una gran cantidad de memoria RAM para ser procesadas y redimensionadas.
- Falta de permisos en carpetas: El directorio
/img/y sus subcarpetas no tienen los permisos correctos (755 o 777 según el servidor). - Configuración restrictiva en la librería GD o Imagick: El servidor carece de las extensiones necesarias para procesar formatos pesados como PNG o JPG de gran tamaño.
Método 1: Aumentar los límites de memoria y ejecución en PHP
Para solucionar el problema de memoria insuficiente, debes editar la configuración de PHP en tu servidor (archivo php.ini o a través del panel de control como cPanel).
- Accede al panel de tu hosting y busca la opción Selector de PHP o MultiPHP INI Editor.
- Modifica los siguientes valores recomendados para PrestaShop:
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: Comprobar y corregir los permisos de archivos y carpetas
Si el servidor web no puede escribir en el directorio de imágenes, devolverá un error 500 automáticamente.
- Conéctate a tu servidor mediante un cliente FTP (como FileZilla) o usa el Administrador de Archivos de tu hosting.
- Navega hasta la raíz de tu instalación de PrestaShop.
- Haz clic derecho sobre la carpeta
imgy selecciona Permisos de archivo (o CHMOD). - Asegúrate de establecer el valor numérico en
755y marca la opción de "Aplicar a todos los directorios y subdirectorios".
Método 3: Activar el modo debug para identificar el fallo exacto
Si los métodos anteriores no funcionan, necesitas ver el error real que está generando PHP.
- Accede por FTP a tu servidor y abre el archivo
config/defines.inc.php. - Busca la línea que contiene
define('_PS_MODE_DEV_', false);. - Cambiala a
truepara activar el modo depuración:define('_PS_MODE_DEV_', true); - Vuelve a intentar subir la imagen en tu backoffice. Ahora aparecerá un mensaje de excepción detallado que te indicará la causa exacta del bloqueo.