Cómo resolver el error 500 en PrestaShop (Guía de diagnóstico)
¡Vaya! Ver el temido error 500 PrestaShop en tu tienda es como recibir un jarro de agua fría. De repente, tus clientes no pueden comprar y tú no sabes qué ha pasado.
Respira hondo. Este error, también conocido como PrestaShop error interno, es mucho más común de lo que crees. La buena noticia es que, en la gran mayoría de los casos, tiene solución y no has perdido tu tienda para siempre.
En esta guía de diagnóstico completa, vamos a quitarnos el miedo y a ponernos el mono de trabajo. Te voy a explicar, paso a paso y en un lenguaje claro, cómo identificar la causa raíz y cómo solucionar error 500 PrestaShop de forma definitiva. No necesitas ser un hacker ni un programador experto, solo seguir el orden lógico de esta guía.
¿Qué significa exactamente este error?
El error 500 es un mensaje genérico del servidor que indica que algo ha fallado internamente en tu web, pero no te dice el qué. Es como si tu coche no arrancara y el cuadro de mandos solo te dijera "fallo general".
En el contexto de PrestaShop, esto puede deberse a un conflicto entre módulos, a un archivo corrupto, a un problema de permisos o a un agotamiento de los recursos del servidor (memoria, tiempo de ejecución, etc.).
[INFO] A veces, verás un mensaje más específico como "Error 500 Internal Server Error" o una página en blanco. Otras veces, PrestaShop te mostrará un mensaje concreto si activas el modo depuración, algo que haremos en los próximos pasos.
Fase 1: Preparación y Diagnóstico Inicial
Antes de tocar nada, vamos a preparar el terreno. Nuestro objetivo es obtener más información sobre el fallo. No podemos arreglar lo que no entendemos.
Activar el Modo Depuración (Debug Mode)
Esta es la herramienta más poderosa que tienes. Forzará a PrestaShop a mostrar el error real en pantalla en lugar de la página genérica. Es como abrir la tapa del motor para ver qué pieza está rota.
- Accede a tu panel de control de hosting (cPanel, Plesk, o el que uses). Normalmente, necesitarás un gestor de archivos (File Manager) o un cliente FTP como FileZilla.
- Busca el archivo
config/defines.inc.phpen la raíz de tu instalación de PrestaShop. - Descarga una copia de seguridad de este archivo a tu ordenador por si acaso.
- Ábrelo con un editor de texto plano (Nunca uses Word o bloc de notas enriquecido. Usa, por ejemplo, el Bloc de Notas de Windows o Visual Studio Code).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y súbelo de nuevo al servidor (reemplazando el original).
Ahora, recarga tu tienda. Verás un mensaje de error mucho más descriptivo, como un "Fatal error" con una ruta de archivo o una línea específica. ¡Anota ese mensaje! Es la clave de todo el diagnóstico.
[WARNING] No dejes el modo depuración activado para siempre. Es un riesgo de seguridad. Cuando termines de arreglar el error, vuelve a cambiar el valor a false.
Revisar los Registros del Servidor (Logs)
Si el modo depuración no te dice nada o prefieres no tocar archivos, los logs del servidor son tu siguiente mejor amigo. Son el diario de a bordo del servidor.
- Ve a tu panel de control de hosting.
- Busca una sección llamada "Registros de errores", "Error Logs" o similar.
- Abre el archivo de log más reciente (suele llamarse
error_logophp_error.log). - Busca la hora exacta en la que se produjo el error. Verás una línea que describe el fallo, el archivo implicado y la línea exacta.
Con esta información, ya puedes saltar a la solución concreta. Vamos a ver los casos más habituales.
Fase 2: Las Soluciones Más Comunes (De Más Fácil a Más Compleja)
Aquí tienes un checklist de soluciones ordenadas de menor a mayor complejidad. Empieza por la primera y ve avanzando.
Solución Rápida: Aumentar el Límite de Memoria PHP
Este es el culpable en el 60% de los casos. Un módulo o un proceso de PrestaShop requiere más memoria de la que el servidor permite por defecto.
- Busca un archivo llamado
php.inien la raíz de tu hosting o en la carpetaconfigde PrestaShop. - Si no existe, créalo con un editor de texto.
- Añade o modifica la siguiente línea:
memory_limit = 256M - Guarda y sube el archivo. Recarga tu tienda.
Si no encuentras php.ini, puedes intentar añadir esta línea al archivo .htaccess que está en la raíz de tu PrestaShop:
php_value memory_limit 256M
[TIP] Si tu tienda tiene muchos productos o módulos, te recomiendo un límite de 512M para estar más tranquilo.
El Problema de los Permisos de Archivos
PrestaShop necesita escribir en ciertos archivos y carpetas para funcionar (por ejemplo, para generar caché o subir imágenes). Si los permisos son incorrectos, obtendrás un error 500.
- En tu gestor de archivos o FTP, selecciona TODA la carpeta de tu tienda.
- Cambia los permisos de las carpetas a 755.
- Cambia los permisos de los archivos a 644.
[WARNING] Hay una excepción importante: la carpeta config y a veces cache necesitan permisos 757 o incluso 777 en algunos servidores. Si cambiaste todo a 644 y sigues teniendo el error, prueba a darle permisos 755 a la carpeta config y var/cache.
El Conflicto con el Archivo .htaccess
Este archivo es crucial para las URLs amigables y el redireccionamiento. Si se corrompe, la tienda no carga.
- Con tu gestor de archivos o FTP, renombra el archivo
.htaccessa.htaccess_old. - Recarga tu tienda. Si funciona, el problema era este.
- Para regenerarlo, ve al Panel de Administración de PrestaShop (si puedes acceder) a Parámetros Avanzados > Rendimiento y haz clic en el botón "Guardar" sin cambiar nada. Esto forzará la regeneración del archivo.
El Modo Mantenimiento y la Caché
A veces, una caché corrupta es la causa. Es como tener una memoria de trabajo llena de datos basura que impiden que el sistema arranque.
- Accede a tu panel de administración de PrestaShop (si te deja). Ve a Parámetros Avanzados > Rendimiento.
- Activa el Modo Mantenimiento para que los clientes no vean los errores mientras trabajas.
- En la misma página, busca la opción "Vaciar la caché" y haz clic en el botón. Verás un icono de una escoba o un botón de "Limpiar".
- Si no puedes acceder al panel, borra manualmente el contenido de la carpeta
var/cacheen la raíz de tu PrestaShop. No borres la carpeta en sí, solo los archivos que hay dentro.
Desactivar Módulos Recientes o Conflictivos
¿Instalaste un módulo nuevo justo antes de que apareciera el error? Es el principal sospechoso.
- Si tienes acceso al panel de administración, ve a Módulos > Módulos y Servicios.
- Busca el módulo que instalaste recientemente y desactívalo.
- Si no tienes acceso al panel, tendrás que hacerlo por FTP.
- Con FileZilla, ve a la carpeta
/modules/. - Renombra la carpeta del módulo problemático (por ejemplo, de
pagos_rapidosapagos_rapidos_off). Esto lo desactivará automáticamente sin romper nada.
La Actualización de PHP
PrestaShop es exigente con la versión de PHP que usa. Si tu hosting ha actualizado PHP y tu versión de PrestaShop es antigua, es probable que obtengas un error 500.
- Entra en tu panel de control de hosting.
- Busca la sección "Gestor de PHP", "MultiPHP Manager" o "Versiones de PHP".
- Si tu PrestaShop es la versión 1.7 o anterior, te recomiendo PHP 7.4 o PHP 8.0. Para versiones 8.x, usa PHP 8.1 o superior.
- Prueba a cambiar a una versión de PHP diferente (una más estable) y recarga tu tienda.
Fase 3: Soluciones Avanzadas (Cuando Nada de lo Anterior Funciona)
Si has llegado hasta aquí, el problema es más profundo. No te desanimes, aún hay esperanza.
Revisar la Base de Datos
Un error de conexión o una tabla corrupta en la base de datos también puede causar el error 500.
- Accede a
phpMyAdmindesde tu panel de hosting. - Selecciona la base de datos de tu PrestaShop.
- En la pestaña "Exportar", haz una copia de seguridad de toda la base de datos. ¡Esto es vital!
- Vuelve a la pestaña "Base de datos" y selecciona todas las tablas.
- En el menú desplegable, elige la opción "Reparar tabla".
[INFO] Esta acción puede tardar unos minutos si tu base de datos es grande. No cierres la pestaña del navegador durante el proceso.
El Archivo settings.inc.php
Este archivo contiene la configuración de conexión a la base de datos. Si tiene un error, la tienda no puede arrancar.
- Ve a la carpeta
/config/en tu FTP. - Descarga el archivo
settings.inc.php. - Ábrelo y verifica que los datos de conexión (nombre de la base de datos, usuario y contraseña) son correctos. A veces, al cambiar de hosting o de servidor, estos datos cambian y no se actualizan.
Contactar con tu Proveedor de Hosting
Si después de todo esto el PrestaShop error interno persiste, el problema puede ser del servidor en sí (un error de configuración, un fallo de hardware, un bloqueo de IP, etc.).
[TIP] Cuando contactes con tu proveedor, dales el mensaje de error exacto que obtuviste en el modo depuración. Cuanta más información les des, más rápido podrán ayudarte. No digas solo "tengo un error 500", diles "tengo un error 500 que me muestra un fallo en la línea X del archivo Y".
Preguntas Frecuentes (FAQ) sobre el Error 500
Aquí tienes las dudas más comunes de los usuarios cuando se enfrentan a este problema.
¿He perdido mis productos o clientes?
No, absolutamente no. El error 500 es un fallo de ejecución, no un borrado de datos. Tus productos, pedidos y clientes están seguros en la base de datos. Una vez solucionado el error, todo volverá a estar como antes.
¿Puedo evitar que esto vuelva a pasar?
Sí, con buenas prácticas. Mantén PrestaShop y tus módulos siempre actualizados. Realiza copias de seguridad periódicas de tu web y tu base de datos. Evita instalar módulos de fuentes no oficiales y no sobrecargues tu tienda con extensiones que no necesitas. También es recomendable usar un hosting de calidad que ofrezca recursos suficientes.
¿Cuánto tiempo se tarda en arreglar?
Depende de la causa. Si es un problema de memoria, puedes tardar 5 minutos. Si es un módulo conflictivo, quizás 30 minutos. Si es un problema complejo de servidor, puede llevar horas. Lo importante es seguir el orden lógico de esta guía para no perder tiempo.
¿Qué pasa si no tengo acceso al panel de administración de PrestaShop?
No pasa nada. Todas las soluciones que te he dado (excepto las que implican el panel) se pueden hacer por FTP. Renombrar módulos, cambiar el .htaccess o activar el modo depuración se hace perfectamente desde FileZilla o el gestor de archivos de tu hosting.
¿Y si mi tienda está en un hosting compartido y no puedo tocar el php.ini?
Es muy común. En ese caso, usa el archivo .htaccess para aumentar la memoria. Si tampoco te funciona, contacta con tu proveedor de hosting y pídeles que aumenten el memory_limit para tu cuenta. Es una petición muy habitual y suelen hacerlo sin problema.
Solucionar el error 500 PrestaShop puede parecer una tarea de expertos, pero con esta guía de diagnóstico en la mano, tienes todas las herramientas para enfrentarte a él con confianza. Ve paso a paso, con calma, y toma nota de cada cosa que hagas para poder deshacerla si es necesario.
¡Mucha suerte y a por esa tienda online!
