Resolver error 500 en PrestaShop: Guía de diagnóstico en cPanel
¡Hola! Soy tu asistente técnico de confianza. ¿Te has encontrado con la temida pantalla blanca o el mensaje "Error 500: Error interno del servidor" en tu tienda PrestaShop? No te preocupes, es uno de los errores más comunes, pero también uno de los que más asustan a primera vista. La buena noticia es que, en la mayoría de los casos, se puede solucionar sin ser un experto en programación.
Este error significa que el servidor web ha encontrado una condición inesperada que le impide completar la solicitud. Puede deberse a un plugin defectuoso, un archivo .htaccess corrupto, un límite de memoria excedido o incluso un problema de permisos. En esta guía, te voy a enseñar paso a paso cómo diagnosticar y solucionar el error 500 en PrestaShop usando las herramientas que tienes en cPanel. Vamos a convertir ese susto en una solución.
¿Qué es el Error 500 en PrestaShop y por qué ocurre?
El error 500 PrestaShop, también conocido como "Internal Server Error", es un código de estado HTTP genérico. A diferencia de un error 404 (página no encontrada), el 500 indica que algo salió mal en el servidor, pero no te dice exactamente qué. Es como si el servidor dijera: "Algo se rompió, pero no sé cómo explicártelo".
Las causas más comunes en PrestaShop son:
- Módulos o temas incompatibles: Al instalar o actualizar un módulo, puede generar un conflicto con el núcleo de PrestaShop.
- Archivo .htaccess dañado: Este archivo controla las reglas de reescritura de URL y la configuración del servidor. Si se corrompe, todo se cae.
- Límite de memoria PHP excedido: Si tu tienda tiene muchos productos o tráfico, y el límite de memoria es bajo, el servidor colapsa.
- Permisos de archivos incorrectos: Si los archivos o carpetas tienen permisos demasiado restrictivos, el servidor no puede leerlos.
- Problemas con la versión de PHP: Una versión desactualizada o incompatible puede causar errores internos.
Primeros pasos: Activar el modo debug de PrestaShop
Antes de meternos en cPanel, lo más inteligente es que PrestaShop nos dé más pistas. Por defecto, el error 500 muestra una pantalla en blanco. Necesitamos activar el modo debug para ver el mensaje de error real.
### Paso 1: Accede a los archivos de tu tienda desde cPanel
- Inicia sesión en tu cPanel. La URL suele ser
tudominio.com/cpanelo te la proporcionó tu hosting. - Busca la sección Archivos y haz clic en Administrador de archivos.
- Se abrirá una ventana. Selecciona la raíz de tu dominio (normalmente
public_htmlowww).
### Paso 2: Edita el archivo config/defines.inc.php
- Dentro del Administrador de archivos, navega hasta la carpeta
config. - Busca el archivo
defines.inc.php. Haz clic derecho sobre él y selecciona Editar. - Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda los cambios (Ctrl+S o el botón Guardar).
[INFO] Si no ves la línea exacta, búscala con Ctrl+F. A veces está comentada con // al principio.
### Paso 3: Recarga tu tienda
Vuelve a cargar la página de tu tienda. Ahora, en lugar de la pantalla blanca, deberías ver un mensaje de error detallado. Por ejemplo:
Fatal error: Allowed memory size of 134217728 bytes exhausted(problema de memoria).Parse error: syntax error, unexpected...(error en un archivo PHP de un módulo).
[TIP] Anota el mensaje exacto. Nos ayudará a saber si el problema es de memoria, de un módulo o de otro tipo.
Si el error sigue siendo blanco, es que el problema es más grave (por ejemplo, el archivo defines.inc.php no se está leyendo). En ese caso, pasamos al diagnóstico en cPanel.
Diagnóstico en cPanel: Las 5 herramientas clave
Ahora vamos a usar las herramientas de cPanel para identificar y solucionar el error 500 en PrestaShop. cPanel es el panel de control más común en hosting compartido y ofrece varias utilidades para esto.
### 1. Revisar el archivo .htaccess (el culpable más común)
El archivo .htaccess se encuentra en la raíz de tu dominio (public_html). A veces se corrompe al instalar un módulo de SEO o al cambiar la configuración de URL amigables.
Cómo solucionarlo:
- En el Administrador de archivos, ve a la raíz (
public_html). - Busca el archivo
.htaccess. Si no lo ves, activa la opción Mostrar archivos ocultos (en el menú superior). - Haz clic derecho sobre
.htaccessy selecciona Renombrar. Ponle_old.htaccesso_backup.htaccess. - Ahora ve a tu tienda y recarga. Si el error 500 desaparece, el problema era ese archivo.
- Para regenerar un
.htaccesslimpio, ve al Back Office de PrestaShop: Configuración avanzada > Rendimiento y haz clic en Guardar (sin cambiar nada). Esto regenera el archivo automáticamente.
[WARNING] No elimines el archivo .htaccess, solo renómbralo. Si lo borras, perderás las reglas de SEO y seguridad.
### 2. Aumentar el límite de memoria PHP
Si el mensaje de error decía algo sobre "memory size", este es tu camino.
- En cPanel, busca la sección Software o Servicios.
- Haz clic en Seleccionar versión de PHP (o MultiPHP Manager).
- Se abrirá una ventana. Busca la opción Opciones o Cambiar configuración de PHP (suele ser un enlace o un botón).
- Localiza la directiva
memory_limit. Por defecto suele estar en 128M o 256M. Auméntala a 512M o 1024M. - También puedes aumentar
max_execution_timea 300 yupload_max_filesizea 64M. - Guarda los cambios.
[INFO] Si tu hosting no te permite modificar estos valores desde cPanel, tendrás que hacerlo manualmente editando el archivo php.ini o añadiendo una línea en el .htaccess. Pero lo más común es que puedas desde el selector de PHP.
### 3. Comprobar los permisos de archivos y carpetas
Los permisos incorrectos son otra causa frecuente del cPanel error 500 PrestaShop. Los archivos deben tener permisos 644 y las carpetas 755.
- En el Administrador de archivos, selecciona todos los archivos y carpetas de la raíz (
public_html). - Haz clic en Permisos en la barra superior.
- Para las carpetas, marca: 755 (el dueño puede leer, escribir y ejecutar; el grupo y otros solo leer y ejecutar).
- Para los archivos, marca: 644 (el dueño puede leer y escribir; el grupo y otros solo leer).
- Aplica los cambios.
[WARNING] No pongas permisos 777 a todo. Es inseguro y puede causar otros errores. Solo usa 755 para carpetas y 644 para archivos.
### 4. Deshabilitar módulos desde la base de datos (si no puedes acceder al Back Office)
Si el error 500 te impide incluso entrar al panel de administración, puedes desactivar todos los módulos desde la base de datos. Esto es un poco más técnico, pero muy efectivo.
- En cPanel, busca la sección Bases de datos y haz clic en phpMyAdmin.
- Selecciona la base de datos de tu PrestaShop (la que configuraste al instalarlo).
- Busca la tabla
ps_modules(el prefijo puede variar, por ejemploprestashop_modules). - Haz clic en la pestaña SQL (o Consulta).
- Ejecuta la siguiente consulta SQL:
(ReemplazaUPDATE ps_modules SET active = 0 WHERE 1;ps_modulespor el nombre real de tu tabla de módulos). - Esto desactivará todos los módulos. Luego, vuelve a tu tienda. Si el error desaparece, el problema era un módulo específico. Puedes ir activándolos uno por uno desde el Back Office para identificar al culpable.
[TIP] Si no sabes el prefijo de las tablas, mira el archivo config/settings.inc.php en la raíz. Ahí aparece _DB_PREFIX_.
### 5. Revisar los logs de error del servidor
cPanel guarda registros de errores detallados. Son tu mejor amigo para diagnósticos avanzados.
- En cPanel, busca la sección Métricas o Registros.
- Haz clic en Errores o Error log.
- Se mostrará una lista de errores recientes. Busca líneas que contengan "PHP Fatal error" o "PrestaShop".
- El mensaje te dirá exactamente qué archivo y línea causan el error. Por ejemplo:
require_once(/home/user/public_html/modules/mimodulo/mimodulo.php): failed to open stream.
[INFO] Si no ves el Error log, busca "Latest Visitor" o "Raw Access Log". A veces los errores 500 aparecen allí con el código de estado 500.
Soluciones rápidas para casos comunes
Aquí tienes un resumen de qué hacer según el síntoma:
- Error 500 solo en algunas páginas: Probablemente un módulo específico. Desactívalo desde la base de datos (paso 4) o renombra la carpeta del módulo en
/modules/. - Error 500 al guardar configuración: Problema de permisos en la carpeta
config. Asegúrate de que tenga permisos 755. - Error 500 después de actualizar PrestaShop: El archivo
.htaccesso la versión de PHP. Regenera el.htaccessy asegúrate de usar PHP 7.4 o 8.0 (según la versión de PrestaShop). - Error 500 en la instalación: Permisos incorrectos o falta de extensiones PHP (como
curl,gd,mbstring). Desde cPanel, en Seleccionar versión de PHP, activa todas las extensiones necesarias.
Preguntas frecuentes (FAQ)
¿El error 500 puede dañar mi base de datos?
No, el error 500 es un error del servidor web. No afecta directamente a la base de datos. Tus productos, clientes y pedidos están a salvo.
¿Necesito contactar al soporte de mi hosting?
Si después de seguir todos estos pasos el error persiste, sí. Es posible que el problema esté en el servidor (firewall, límites de recursos, etc.). Diles que revisen los logs de error de Apache o Nginx.
¿Puedo prevenir el error 500 en el futuro?
Sí. Mantén PrestaShop actualizado, usa módulos de fuentes confiables, haz copias de seguridad periódicas y no modifiques archivos del núcleo sin saber lo que haces.
¿Qué hago si no tengo cPanel?
Si tu hosting usa Syspanel (anteriormente HestiaCP), el proceso es similar. Accede a través del puerto 2106 (ejemplo: tudominio.com:2106). Busca la sección de Archivos o Base de datos. Los pasos para editar archivos y la base de datos son los mismos.
Conclusión
El error 500 PrestaShop puede ser frustrante, pero con esta guía tienes todas las herramientas para diagnosticarlo y solucionarlo desde cPanel. Recuerda: primero activa el modo debug, luego revisa el .htaccess, aumenta la memoria, comprueba los permisos y, si todo falla, desactiva los módulos desde la base de datos.
No olvides que, tras solucionar el error, es recomendable desactivar el modo debug (volver a poner false en defines.inc.php) para que tu tienda no muestre mensajes de error a los clientes.
Y si en algún momento te sientes perdido, vuelve a leer esta guía. ¡Tú puedes con esto! Tu tienda volverá a funcionar en pocos minutos.
