🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 500 en PrestaShop (hosting y permisos)

Actualizado el 5 de marzo de 2026

¡Vaya! Llegas a tu tienda online, pones la URL en el navegador y, en lugar de ver tus productos, te encuentras con una pantalla en blanco o un mensaje críptico: Error 500. Es una de las situaciones más frustrantes para cualquier dueño de una tienda PrestaShop.

Pero respira. Este error no significa que hayas perdido tu negocio ni tus datos. Simplemente indica que algo falló en el servidor y que este no pudo completar la solicitud. Es un problema muy común, y en la gran mayoría de los casos, tiene una solución clara y paso a paso.

En esta guía extensa y práctica, vamos a desglosar exactamente cómo solucionar el error 500 en PrestaShop, centrándonos en dos de las causas más frecuentes: los problemas de hosting (recursos del servidor) y los permisos de archivos y carpetas. No necesitas ser un experto en programación, solo seguir nuestras instrucciones con calma.

Vamos a ello.

¿Qué es exactamente un Error 500?

Antes de empezar a tocar cosas, es importante entender qué está pasando. El error 500 prestashop (Internal Server Error) es una respuesta genérica del servidor que indica que ha ocurrido un problema inesperado. El servidor no sabe exactamente qué decirte, pero sabe que algo no ha ido bien.

Es como si llamaras a la puerta de una oficina y, en lugar de abrirte, un robot te dijera: "Lo siento, hay un problema interno". No te dice si es la puerta, la electricidad o que el ordenador está roto. Solo te dice que no puede atenderte.

Las causas más comunes en PrestaShop son:

  • Permisos incorrectos en archivos o carpetas (demasiado abiertos o demasiado restrictivos).
  • Memoria PHP insuficiente (el servidor se queda sin recursos).
  • Archivos corruptos o incompletos después de una actualización o instalación de un módulo.
  • Conflictos entre módulos o con la plantilla (tema) activa.
  • Errores en el archivo .htaccess.

Vamos a atacar estos puntos por orden de probabilidad y facilidad de solución.

Primero: Activa el Modo Depuración (Debug Mode)

Si no sabes por dónde empezar, esta es la clave. PrestaShop tiene un "modo detective" que, cuando se activa, muestra el error real en pantalla en lugar de la página genérica. No te asustes si ves códigos raros; nos darán la pista exacta.

¿Cómo activar el modo depuración?

Necesitas acceder a los archivos de tu tienda. Puedes hacerlo a través del Panel de Control de tu hosting (cPanel, Syspanel, etc.) o mediante un cliente FTP como FileZilla.

  1. Conéctate a tu servidor y navega hasta la raíz donde está instalada tu tienda (normalmente public_html/ o www/).
  2. Busca el archivo llamado config/defines.inc.php.
  3. Descarga este archivo a tu ordenador y ábrelo con un editor de texto plano (como el Bloc de Notas o Notepad++).
  4. Busca la línea que dice:
    define('_PS_MODE_DEV_', false);
  5. Cambia false por true. Debe quedar así:
    define('_PS_MODE_DEV_', true);
  6. Guarda el archivo y súbelo de vuelta a la carpeta config/, reemplazando el original.

[WARNING] No dejes el modo depuración activado para siempre. Es una herramienta de diagnóstico que expone información sensible de tu servidor. Cuando termines de arreglar el error, vuelve a poner false.

Ahora, recarga tu tienda. Verás un mensaje de error mucho más específico, como "Fatal error: Allowed memory size of X bytes exhausted" o "Permission denied". Esto te dirá exactamente qué camino seguir.

Solución 1: Ajustar los Permisos de Archivos y Carpetas

Esta es la causa más común del error 500 prestashop después de una migración o una instalación. PrestaShop necesita escribir en ciertos archivos (como cachés, logs o la carpeta de importación) para funcionar. Si los permisos no son los correctos, falla.

¿Qué permisos son los correctos?

La regla de oro para un hosting compartido estándar es:

  • Carpetas (Directorios): Permisos 755 (rwxr-xr-x). Esto permite leer y ejecutar, y al propietario escribir.
  • Archivos (Ficheros): Permisos 644 (rw-r--r--). Permite leer a todos, y escribir solo al propietario.

Existen excepciones, como la carpeta cache, log o img, que a veces necesitan permisos 777 (para que el servidor web pueda escribir en ellas). Pero empecemos con los estándar.

¿Cómo cambiar los permisos?

Opción A: Desde el Panel de Control (Syspanel o cPanel)

  1. Accede a tu panel de hosting, por ejemplo Syspanel (recuerda, el acceso a este panel suele ser a través del puerto 2106, es decir, tu-dominio.com:2106).
  2. Busca el Administrador de Archivos (File Manager).
  3. Navega a la raíz de tu PrestaShop.
  4. Selecciona todos los archivos y carpetas (Ctrl+A).
  5. Haz clic derecho y elige la opción "Permisos" o "Change Permissions".
  6. Si tu panel te da la opción, selecciona la casilla que dice "Aplicar a subdirectorios y archivos" o similar.
  7. Introduce 755 para directorios y 644 para archivos. Algunos paneles permiten hacerlo automáticamente.
  8. Guarda los cambios.

Opción B: Desde un Cliente FTP

  1. Conéctate a tu servidor con FileZilla o similar.
  2. En el servidor (panel derecho), navega a la raíz de tu tienda.
  3. Selecciona todos los archivos y carpetas (Ctrl+A).
  4. Haz clic derecho y selecciona "Atributos del archivo...".
  5. Marca la opción "Recursivo en subdirectorios".
  6. Introduce 755 en el campo numérico y pulsa Aceptar.
  7. Repite los pasos 3 a 6, pero esta vez para aplicar 644 a los archivos. La forma más fácil es seleccionar solo los archivos (puedes usar el filtro de FileZilla para mostrar solo archivos, o hacerlo con directorios y luego archivos).

[TIP] En FileZilla, puedes filtrar para ver solo archivos o solo directorios en el menú "Servidor" -> "Filtros de nombres de archivo". Esto facilita la tarea de cambiar permisos en masa.

Después de ajustar los permisos, vuelve a cargar tu tienda. Si el error persiste, pasemos a la siguiente solución.

Solución 2: Aumentar el Límite de Memoria PHP

Otra causa muy frecuente es que tu tienda se queda sin memoria. Esto pasa mucho al instalar módulos pesados o al actualizar la versión de PrestaShop. El error típico es:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 4096 bytes)

Esto significa que el servidor solo permite 64MB (67108864 bytes) y tu tienda necesita más. Lo ideal para PrestaShop es tener al menos 128MB, aunque recomendamos 256MB para estar tranquilos.

¿Cómo aumentar la memoria?

Opción A: Modificar el archivo config/defines.inc.php (No recomendado)

Justo debajo de la línea del modo depuración, puedes añadir una línea para aumentar la memoria. Búscala y añade:

ini_set('memory_limit', '256M');

Pero ojo, esto no siempre funciona si tu proveedor de hosting lo restringe a nivel de servidor. Es mejor usar la opción B o C.

Opción B: Crear o modificar el archivo .htaccess (Recomendado)

  1. En la raíz de tu PrestaShop, busca el archivo .htaccess. Si no lo ves, activa la opción de "Mostrar archivos ocultos" en tu FTP o administrador de archivos.

  2. Descárgalo y haz una copia de seguridad en tu ordenador.

  3. Ábrelo con un editor de texto.

  4. Al principio del archivo, añade estas líneas:

    <IfModule mod_php7.c>
       php_value memory_limit 256M
       php_value max_execution_time 300
    </IfModule>
    

    Si tu servidor usa PHP 8.0 o superior, el módulo puede llamarse mod_php.c o mod_php8.0.c. Puedes probar con mod_php.c que suele ser genérico.

  5. Guarda y sube el archivo de nuevo.

Opción C: Desde el Panel de Control (Syspanel o cPanel)

La mayoría de los paneles modernos tienen un selector de versión de PHP y opciones de configuración.

  1. Entra en tu panel de hosting (Syspanel en el puerto 2106).
  2. Busca la sección de "Seleccionar versión de PHP" o "Administrador de PHP".
  3. Dentro, busca una pestaña o botón llamado "Opciones" o "Configuración".
  4. Encuentra el parámetro memory_limit y cámbialo a 256M.
  5. Guarda los cambios.

[INFO] Si no encuentras estas opciones, contacta con tu proveedor de hosting y pídeles que aumenten el memory_limit de tu cuenta. Es un cambio muy común y no deberían ponerte problemas.

Solución 3: Regenerar el Archivo .htaccess

A veces, el archivo .htaccess se corrompe o tiene reglas obsoletas que causan conflictos. Regenerarlo es muy sencillo.

  1. Ve a tu Panel de Administración de PrestaShop (si puedes acceder).
  2. Navega a Parámetros Avanzados -> Rendimiento.
  3. Busca la sección "Herramientas" o al final de la página.
  4. Verás un botón que dice "Generar/Regenerar el archivo .htaccess". Haz clic en él.
  5. Guarda.

Si no puedes acceder al panel de administración, puedes hacerlo manualmente:

  1. Conéctate por FTP.
  2. Renombra el archivo .htaccess en la raíz a .htaccess.bak (para tener una copia).
  3. Intenta cargar tu tienda. PrestaShop generará un nuevo .htaccess automáticamente si tiene permisos de escritura en la raíz.

Solución 4: Verificar los Logs del Servidor

Si nada de lo anterior funciona, es hora de que el servidor te cuente qué pasa. Los logs son los diarios de a bordo del servidor.

¿Dónde están los logs?

  • En Syspanel o cPanel: Busca la sección "Registros de errores", "Logs de errores" o "Error Log". Suele estar en el área de "Métricas" o "Administración de archivos".
  • Por FTP: A veces están en una carpeta llamada logs/ o error_log en la raíz.
  • En PrestaShop: Puedes revisar la carpeta var/logs/ en la raíz de tu instalación. Busca archivos con la fecha de hoy.

Abre el último archivo de log y busca las líneas que coincidan con la hora en que intentaste acceder a tu tienda. Verás un mensaje de error de PHP mucho más detallado que te indicará el archivo y la línea exacta del problema.

[WARNING] Los logs pueden ser abrumadores. Busca palabras clave como "error", "fatal", "permission" o el nombre de tu dominio.

Solución 5: Revisar Módulos y la Plantilla (Tema)

Esta es una causa muy común después de una actualización de PrestaShop o de instalar un módulo nuevo. Un módulo incompatible puede romper toda la tienda.

¿Cómo saber si es un módulo o el tema?

Si has activado el modo depuración, verás el nombre del archivo que causa el error. Normalmente apunta a un módulo o a un archivo de la plantilla.

¿Cómo solucionarlo?

  1. Desactivar el módulo sospechoso: Si sabes qué módulo instalaste o actualizaste justo antes del error, entra a tu panel de administración y desactívalo. Si no puedes entrar, tendrás que hacerlo por FTP:
    • Ve a la carpeta modules/.
    • Renombra la carpeta del módulo sospechoso (por ejemplo, de mimodulo a mimodulo.bak). Esto lo "desactiva" a la fuerza.
  2. Cambiar temporalmente de tema: Si el error persiste, puede ser tu tema. Ve a la carpeta themes/ y renombra la carpeta de tu tema activo (por ejemplo, de mi_tema a mi_tema.bak). PrestaShop intentará usar el tema por defecto (si existe) o mostrará un error. Si se arregla, sabrás que el problema es el tema.

[TIP] Antes de hacer cambios a ciegas, si tienes acceso al panel de administración de PrestaShop, ve a Parámetros Avanzados -> Rendimiento y fuerza la compilación de plantillas (ponla en "Forzar la compilación" y desactiva la caché). A veces esto es suficiente.

Solución 6: Contactar con tu Proveedor de Hosting

Si has llegado hasta aquí y el error 500 prestashop sigue ahí, es probable que el problema esté en la configuración del servidor, no en tu tienda. Puede ser un problema de recursos del servidor (CPU, memoria RAM) o una configuración restrictiva de seguridad.

En este punto, tienes dos opciones:

  1. Contactar con tu proveedor de hosting: Explícales claramente que has seguido todos los pasos (permisos, memoria, logs) y que necesitas que revisen los logs del servidor a nivel de sistema. Ellos tienen acceso a más herramientas que tú.
  2. Revisar el correo de tu hosting: A veces, los servidores envían alertas de "resource limits" o "CPU exceeded" a tu correo electrónico. Revisa tu bandeja de entrada y la carpeta de spam.

[INFO] Si tu hosting es muy restrictivo (memoria muy baja, procesos limitados), considera migrar a un plan mejor o a un hosting especializado en PrestaShop. A veces, la solución más rentable a largo plazo es un servidor que dé más margen.

Preguntas Frecuentes (FAQ)

¿Por qué mi tienda PrestaShop da error 500 después de una actualización?

Es muy común. Las actualizaciones pueden dejar archivos corruptos o incompatibles con los módulos. Sigue los pasos de esta guía, empezando por activar el modo depuración para ver el error exacto. La solución 5 (revisar módulos y tema) es la más efectiva en este caso.

¿Puedo arreglar el error 500 sin acceso al panel de administración?

Sí, la mayoría de las soluciones aquí descritas se hacen por FTP o por el panel de control de tu hosting (Syspanel/cPanel), no necesitas entrar a tu tienda.

¿Cuánto tiempo se tarda en solucionar?

Depende de la causa. Cambiar permisos puede llevar 5 minutos. Diagnosticar un módulo conflictivo puede llevar más tiempo. Pero la mayoría de los casos se resuelven en menos de una hora si sigues los pasos con calma.

¿Perderé mis datos si cambio los permisos?

No, cambiar permisos no afecta a tus datos de la base de datos ni a tus productos. Solo cambia quién puede leer o escribir en los archivos.

¿Es peligroso poner permisos 777?

Sí, es un riesgo de seguridad. Solo deberías usar 777 temporalmente y en carpetas específicas si tu hosting lo requiere. Siempre es mejor intentar con 755 y 644 primero.

¿Qué significa el puerto 2106 en Syspanel?

Es simplemente el puerto de acceso a tu panel de control Syspanel. Si tu proveedor usa este panel, deberías poder acceder escribiendo tudominio.com:2106 en tu navegador. Es una medida de seguridad estándar.


Esper

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel