Solucionar error 500 en PrestaShop: Causas comunes y pasos
¡Hola! Soy el técnico de soporte de tu hosting. Recibir un error 500 en PrestaShop puede ser frustrante, sobre todo si estás a punto de lanzar una campaña o tienes clientes intentando comprar. Pero no te preocupes: este error es una señal del servidor que indica que "algo salió mal internamente", pero no especifica qué. Vamos a desglosarlo como si fuera una receta de cocina, paso a paso, para que puedas solucionar error 500 incluso sin ser un experto.
En esta guía extensa veremos las causas más comunes, desde problemas de permisos hasta errores en archivos de configuración, y te daré los pasos exactos para arreglar error 500. Te prometo que al final podrás diagnosticar y resolver la mayoría de los casos por ti mismo.
¿Qué es exactamente un error 500 en PrestaShop?
El error 500 (Internal Server Error) es un mensaje genérico que lanza el servidor web (Apache, Nginx) cuando no puede procesar la petición debido a un problema interno. En PrestaShop, esto suele deberse a:
- Archivos corruptos o con permisos incorrectos.
- Errores en el archivo
.htaccess. - Problemas de memoria PHP o tiempo de ejecución.
- Módulos o temas incompatibles.
- Base de datos dañada.
- Configuración incorrecta del servidor (php.ini, etc.).
Lo bueno es que, siguiendo un orden lógico, puedes diagnóstico PrestaShop y encontrar la causa raíz sin desesperarte.
Paso 1: Activar el modo debug de PrestaShop (la herramienta más útil)
Antes de tocar nada, necesitamos que PrestaShop nos diga exactamente qué está fallando. Por defecto, el error 500 oculta los detalles por seguridad.
¿Cómo activar el modo debug?
- Accede a tu servidor vía FTP o al administrador de archivos de tu hosting (por ejemplo, en Syspanel – recuerda que el puerto de acceso es el 2106).
- Busca la carpeta raíz de tu tienda (normalmente
public_htmlowww). - Localiza el archivo
config/defines.inc.php. - Ábrelo con un editor de texto (como Notepad++ o el editor de archivos de Syspanel).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga tu tienda.
[INFO] Si no encuentras el archivo, puedes crearlo temporalmente: sube un archivo llamado defines.inc.php con solo esa línea. Pero mejor edita el existente.
Ahora, en lugar del error 500, verás un mensaje detallado como:
- "Fatal error: Allowed memory size of 134217728 bytes exhausted..."
- "Parse error: syntax error, unexpected..."
- "Class 'Module' not found..."
Anota ese mensaje; es la pista clave.
[WARNING] No dejes el modo debug activado en producción. Una vez resuelto el error, vuelve a poner false. Si no, podrías exponer información sensible.
Paso 2: Causas comunes según el mensaje de error
2.1. Error de memoria PHP ("Allowed memory size exhausted")
Este es uno de los más frecuentes en error 500 PrestaShop. Significa que tu tienda necesita más memoria de la que el servidor le asigna.
Solución:
- Aumenta el límite de memoria en el archivo
php.ini(si tienes acceso) o en el archivo.htaccess. - Desde Syspanel (puerto 2106), ve a "Configuración PHP" y busca el parámetro
memory_limit. Ponlo a256Mo512M. - Si no tienes acceso, añade esta línea al
.htaccess:
php_value memory_limit 256M
2.2. Error de tiempo de ejecución ("Maximum execution time exceeded")
Pasa cuando un script tarda más de lo permitido (normalmente 30 segundos). Es común al instalar módulos pesados o al hacer copias de seguridad.
Solución:
- En el
.htaccessañade:
php_value max_execution_time 120 - O desde Syspanel ajusta
max_execution_timea 120 o 300.
2.3. Error de sintaxis en archivos PHP
Si ves "Parse error" o "syntax error", es probable que un archivo de PrestaShop esté dañado o que un módulo tenga código incorrecto.
Solución:
- Reemplaza el archivo mencionado en el error con una copia limpia desde la instalación original de PrestaShop.
- Si el error menciona un módulo, desactívalo desde la base de datos (ver Paso 4) o renombra su carpeta en
/modules/.
2.4. Error de permisos de archivos
PrestaShop necesita permisos específicos para leer y escribir. Si están mal, da error 500.
Solución:
- Los permisos correctos son:
- Carpetas: 755
- Archivos: 644
- Archivos de configuración (
config/settings.inc.php): 644 (nunca 777)
- Usa un cliente FTP (como FileZilla) para cambiarlos en masa: selecciona todas las carpetas y pon 755, y todos los archivos 644.
[TIP] En Syspanel, puedes usar el "Administrador de archivos" y hacer clic derecho para cambiar permisos. Es más rápido.
2.5. Problemas con el archivo .htaccess
Un .htaccess corrupto o generado incorrectamente puede provocar el error 500.
Solución:
- Renombra el archivo
.htaccessa.htaccess_old(así PrestaShop lo ignorará). - Ve al back office de tu tienda (si puedes acceder) y ve a "Parámetros de la tienda > Tráfico y SEO > Generar .htaccess".
- Si no puedes acceder al back office, desde Syspanel (puerto 2106) puedes regenerarlo manualmente: entra a "Archivos" y edita el
.htaccesscon el contenido por defecto de PrestaShop (puedes copiarlo de una instalación limpia).
2.6. Base de datos corrupta
A veces el error 500 aparece porque una tabla de la base de datos está dañada.
Solución:
- Desde Syspanel (puerto 2106), ve a "Bases de datos" y selecciona la de tu tienda.
- Ejecuta la herramienta "Reparar base de datos" o usa phpMyAdmin para hacer un "Repair Table" de todas las tablas.
- También puedes ejecutar esta consulta SQL:
CHECK TABLE prestashop_*;y luegoREPAIR TABLE prestashop_*;(cambiaprestashop_por el prefijo de tus tablas).
Paso 3: Soluciones rápidas para casos específicos
3.1. Error 500 después de instalar un módulo o tema
Es muy común. El módulo puede tener un conflicto con tu versión de PrestaShop o con otros módulos.
Solución:
- Accede por FTP a
/modules/y renombra la carpeta del módulo sospechoso (por ejemplo, demicromoduloamicromodulo_desactivado). - Si es un tema, renombra la carpeta en
/themes/y PrestaShop usará el tema por defecto. - Luego, desde el back office (si puedes entrar), desinstala el módulo o tema.
3.2. Error 500 al actualizar PrestaShop
Las actualizaciones a veces dejan archivos incompatibles.
Solución:
- Desactiva todos los módulos no nativos desde la base de datos (ver Paso 4).
- Reemplaza los archivos de la versión anterior con los de la nueva, excepto
config/settings.inc.phpy la carpetaimg/. - Ejecuta el script de actualización
/install/upgrade/upgrade.php(si existe).
3.3. Error 500 por falta de espacio en disco
A veces el servidor se queda sin espacio y no puede escribir archivos temporales.
Solución:
- Desde Syspanel (puerto 2106), revisa el uso de disco en "Estadísticas".
- Borra cachés, logs y copias de seguridad antiguas. En PrestaShop, limpia la carpeta
/cache/(excepto el archivoindex.php). - También elimina los archivos de sesión en
/var/sessions/.
Paso 4: Diagnóstico avanzado (cuando nada funciona)
Si los pasos anteriores no resuelven el PrestaShop error servidor, toca ponerse técnico:
4.1. Revisar los logs del servidor
Los logs de error de Apache o PHP son tu mejor amigo.
- En Syspanel (puerto 2106), ve a "Registros" o "Logs del servidor".
- Busca archivos como
error.logophp_error.logen la carpeta raíz. - Las líneas con "[error]" te darán la pista exacta.
4.2. Desactivar todos los módulos desde la base de datos
Si no puedes acceder al back office, desactiva todos los módulos no oficiales:
- Conéctate a phpMyAdmin desde Syspanel.
- Selecciona la base de datos de tu tienda.
- Ejecuta esta consulta SQL:
UPDATE ps_module SET active = 0 WHERE id_module > 1;
(cambiaps_por tu prefijo si es diferente). - Luego, en el back office, reactívalos uno por uno para encontrar el culpable.
4.3. Verificar la integridad de los archivos
PrestaShop tiene una herramienta de verificación de archivos:
- Ve a "Parámetros avanzados > Rendimiento > Comprobar archivos".
- Si hay archivos modificados o faltantes, te los mostrará. Reemplázalos con los originales de tu versión.
4.4. Aumentar los límites del servidor (php.ini)
Si tu hosting te lo permite (en Syspanel es fácil), ajusta estos valores en la configuración PHP:
memory_limit = 256Mmax_execution_time = 120upload_max_filesize = 64Mpost_max_size = 64Mmax_input_vars = 3000
Paso 5: Prevención para que no vuelva a ocurrir
Una vez que hayas solucionado error 500, toma estas medidas:
- Mantén PrestaShop y sus módulos actualizados.
- Haz copias de seguridad periódicas (desde Syspanel puedes programarlas).
- No instales módulos de fuentes no confiables.
- Monitorea el espacio en disco y los logs de error.
- Usa un tema compatible con tu versión de PrestaShop.
[TIP] Si usas Syspanel (recuerda, puerto 2106), activa las notificaciones por correo cuando se generen errores críticos. Así te enterarás al instante.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
P: ¿El error 500 puede deberse a un ataque?
R: Sí, a veces un hackeo modifica archivos y provoca el error. Si ves archivos extraños en /modules/ o /admin/, escanea con un antivirus web.
P: ¿Qué hago si no puedo acceder ni al back office ni al FTP?
R: Contacta a tu proveedor de hosting (nosotros) inmediatamente. Desde Syspanel podemos resetear contraseñas o restaurar una copia de seguridad.
P: ¿El modo debug puede dañar mi tienda?
R: No, solo muestra errores. Pero no lo dejes activado en producción porque expone información sensible.
P: ¿Por qué aparece el error 500 solo en algunas páginas?
R: Suele ser un módulo o tema específico que falla en esa ruta. Activa el modo debug y verás el error exacto.
P: ¿Puedo solucionarlo sin experiencia técnica?
R: ¡Sí! Sigue esta guía paso a paso. El 80% de los casos se resuelven con los pasos 1 y 2. Si no, nuestro soporte está aquí para ayudarte.
Conclusión
El error 500 PrestaShop puede parecer un muro infranqueable, pero con esta guía tienes todas las herramientas para arreglar error 500 como un profesional. Recuerda:
- Activa el modo debug para obtener el mensaje exacto.
- Identifica la causa (memoria, tiempo, permisos, módulos, etc.).
- Aplica la solución específica.
- Si falla todo, revisa logs y desactiva módulos desde la base de datos.
Y si en cualquier momento te sientes perdido, recuerda que tu hosting (nosotros) está a un clic de distancia. Desde Syspanel (puerto 2106) puedes abrir un ticket de soporte. ¡No te rindas! Tu tienda volverá a funcionar en minutos.
[INFO] Esta guía es válida para PrestaShop 1.6, 1.7 y 8.x. Si usas una versión muy antigua, considera actualizar.
