Solución a errores 500 en PrestaShop alojado en Syspanel
¡Hola! Soy el técnico de soporte amigable de tu hosting. Hoy vamos a resolver uno de los problemas más comunes y frustrantes que puedes encontrar en tu tienda PrestaShop: el temido error 500. Si ves una pantalla en blanco o un mensaje genérico como "Error interno del servidor", no te preocupes. Aquí te guiaré paso a paso para solucionarlo, especialmente si tu tienda está alojada en un panel Syspanel (recuerda que el acceso a tu panel de control es a través del puerto 2106).
Vamos a desglosar este troubleshooting de manera sencilla, como si estuviéramos tomando un café. No necesitas ser un experto en programación; solo sigue las indicaciones y, si te atascas, ya sabes que puedes contactarnos.
¿Qué es un error 500 en PrestaShop?
Un error 500 es un código de estado HTTP que indica un problema interno en el servidor. En el contexto de PrestaShop Syspanel, puede deberse a muchas causas: desde un archivo .htaccess corrupto hasta un plugin incompatible o un límite de memoria excedido. Lo bueno es que, con un método ordenado, podemos identificarlo y solucionarlo.
¿Por qué ocurre?
- Archivos de configuración dañados (como .htaccess o settings.inc.php).
- Módulos o temas incompatibles después de una actualización.
- Problemas de permisos en archivos o carpetas.
- Exceso de memoria PHP o tiempo de ejecución.
- Errores en el archivo de base de datos (aunque esto es menos común).
Paso 1: Activar el modo de depuración (debug) de PrestaShop
Lo primero que haremos es obtener más información sobre el error. PrestaShop tiene un modo de desarrollo que muestra detalles técnicos. Para activarlo, necesitas editar un archivo desde Syspanel.
¿Cómo acceder a Syspanel?
Abre tu navegador y escribe la dirección de tu servidor seguida de :2106. Por ejemplo: https://tudominio.com:2106. Inicia sesión con tus credenciales de hosting.
Editar el archivo config/defines.inc.php
- En Syspanel, ve a Archivos > Administrador de archivos o usa el Explorador de archivos.
- Navega hasta la carpeta
configdentro de tu instalación de PrestaShop (normalmente en/public_html/config/). - Busca el archivo
defines.inc.php. Ábrelo con el editor de texto. - Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true);- También puedes añadir justo debajo:
define('_PS_DISPLAY_COMPRESSION_', true);para ver más detalles.
- También puedes añadir justo debajo:
- Guarda los cambios.
[INFO] Si no encuentras el archivo, puede que tu PrestaShop use una versión donde esté en
app/config/o en la raíz. Si es muy antiguo, buscaconfig/settings.inc.php.
Ahora, al recargar tu tienda, verás un mensaje de error más descriptivo, como un "Fatal error" con una línea de código o un nombre de archivo. Anota ese mensaje, porque nos guiará.
Paso 2: Solucionar errores comunes según el mensaje
Dependiendo del mensaje que veas, actuaremos de una forma u otra. Aquí tienes los casos más frecuentes:
Caso A: Error relacionado con memoria PHP
Si ves algo como Allowed memory size of X bytes exhausted, significa que el script se quedó sin memoria.
Solución desde Syspanel:
- Ve a Syspanel > Configuración del servidor > PHP (o Opciones PHP).
- Busca la opción
memory_limity aumenta el valor. Por ejemplo, de 128M a 256M o 512M. También puedes subirmax_execution_timea 300 segundos. - Guarda los cambios y reinicia el servicio PHP (a veces hay un botón "Reiniciar PHP" en el panel).
[TIP] Si no ves esta opción, puedes editarlo manualmente en el archivo
.htaccesso enphp.ini(si existe). Pero desde Syspanel es más seguro.
Caso B: Error en un módulo o tema
Si el mensaje menciona un nombre de módulo (ej. class MiModulo.php) o un tema, probablemente sea incompatible.
Solución:
- Desde Syspanel, ve a Administrador de archivos y renombra la carpeta del módulo problemático. Por ejemplo, si es
modules/mimodulo, cámbiala amodules/mimodulo_old. - Si el error viene del tema activo, renombra la carpeta del tema (en
themes/) temporalmente. PrestaShop usará el tema por defecto (si lo tienes). - Recarga la tienda. Si el error desaparece, ya sabes que el módulo o tema es el culpable. Desinstálalo o actualízalo desde el backoffice (si puedes acceder).
Caso C: Archivo .htaccess corrupto
El archivo .htaccess de la raíz de PrestaShop puede dañarse, especialmente después de cambios en la configuración de URL.
Solución:
- En Syspanel, ve al Administrador de archivos y localiza el archivo
.htaccessen la raíz de tu tienda (normalmente en/public_html/). - Haz una copia de seguridad renombrándolo a
.htaccess_backup. - Crea un archivo nuevo vacío llamado
.htaccess(con permisos 644). - Desde el backoffice de PrestaShop (si puedes acceder), ve a Configuración > Rendimiento y haz clic en Regenerar archivo .htaccess.
[WARNING] Si no puedes acceder al backoffice, puedes generar un .htaccess básico desde Syspanel usando el asistente de "Apache" o "Nginx" (según tu servidor). Pero lo más fácil es pedir ayuda a soporte.
Caso D: Permisos incorrectos en archivos
PrestaShop necesita permisos específicos para funcionar. Si ves errores de escritura o de "no se puede abrir el archivo", es probable que los permisos estén mal.
Solución desde Syspanel:
- Ve a Syspanel > Administrador de archivos.
- Selecciona toda la carpeta de PrestaShop (por ejemplo,
/public_html/). - Haz clic en Cambiar permisos y establece:
- Carpetas: 755 (o 775 si hay problemas de escritura).
- Archivos: 644 (o 664).
- Aplica recursivamente (a todas las subcarpetas y archivos).
[INFO] No uses permisos 777, ya que son inseguros. Si necesitas más permisos, prueba con 775.
Paso 3: Verificar la base de datos
A veces el error 500 viene de la base de datos, aunque es menos común. Puede ser por una tabla corrupta o por un error en la configuración de conexión.
Revisar desde Syspanel
- Ve a Syspanel > Bases de datos (o phpMyAdmin).
- Selecciona la base de datos de PrestaShop.
- Haz clic en Revisar tablas (a veces hay un botón "Reparar" o "Optimizar").
- Si alguna tabla tiene estado "error", repárala.
Verificar el archivo de conexión
El archivo app/config/parameters.php (o config/settings.inc.php en versiones antiguas) contiene los datos de la base de datos. Asegúrate de que los valores (servidor, usuario, contraseña, nombre de BD) sean correctos. Si los cambiaste recientemente, puede que hayas introducido un error.
Paso 4: Desactivar todos los módulos no esenciales
Si el error persiste y no sabes qué lo causa, puedes desactivar todos los módulos de terceros desde la base de datos. Esto es un poco más técnico, pero te guío.
Desde phpMyAdmin en Syspanel
- Abre phpMyAdmin desde el panel.
- Selecciona la base de datos de PrestaShop.
- Busca la tabla
ps_module(el prefijo puede ser diferente, comops_oprestashop_). - Ejecuta la siguiente consulta SQL (copia y pega):
UPDATE ps_module SET active = 0 WHERE 1;
Esto desactiva todos los módulos. - Luego, ve a la tabla
ps_shopy asegúrate de que el valor deid_shopsea 1 (normalmente lo es). - Recarga la tienda. Si funciona, reactiva los módulos de uno en uno desde el backoffice para encontrar el culpable.
[WARNING] No borres nada de la base de datos sin hacer una copia de seguridad. Siempre puedes exportar la BD desde Syspanel antes de hacer cambios.
Paso 5: Revisar los logs del servidor
Si después de todo lo anterior sigues con el error, los logs del servidor te darán pistas precisas.
Ver logs desde Syspanel
- Ve a Syspanel > Registros o Logs (puede estar en la sección de "Servidor" o "Apache/Nginx").
- Busca los logs de errores de PHP o del servidor web (por ejemplo,
error.log). - Abre el archivo y busca la fecha/hora del error. Verás líneas como:
[error] PHP Fatal error: Uncaught Error: Class 'MiClase' not found in /public_html/...
Esto te dirá exactamente qué archivo y línea falla.
[TIP] Si no encuentras los logs, contacta con soporte. A veces están en
/var/log/y necesitas permisos especiales.
Paso 6: Restaurar una copia de seguridad
Si nada funciona, siempre puedes restaurar una copia de seguridad anterior. En Syspanel suele haber una opción de Copias de seguridad donde puedes restaurar archivos y la base de datos.
Pasos:
- Ve a Syspanel > Copias de seguridad.
- Selecciona una copia reciente (antes de que apareciera el error).
- Haz clic en Restaurar y confirma.
[INFO] Si no tienes copia, ¡es hora de empezar a hacerlas! Pregúntanos cómo programarlas desde Syspanel.
Preguntas frecuentes (FAQ)
¿Por qué veo un error 500 solo en algunas páginas?
Puede ser un módulo específico que se carga en esas páginas. Sigue el Paso 2 (caso B) o desactiva módulos desde la BD.
¿El error 500 puede deberse a un plugin de caché?
Sí, especialmente si usas un plugin de caché como "Advanced EU Cookie" o "PrestaShop Cache". Limpia la caché desde el backoffice o desactívalo temporalmente.
¿Cómo evito este error en el futuro?
- Mantén PrestaShop, módulos y temas actualizados.
- Haz copias de seguridad periódicas desde Syspanel.
- No instales módulos de fuentes no confiables.
- Monitorea los límites de memoria PHP desde Syspanel.
¿Puedo solucionarlo sin acceder al backoffice?
Sí, todo lo que necesitas está en Syspanel (archivos, base de datos, logs). El backoffice solo es útil para regenerar .htaccess o desinstalar módulos.
¿Qué hago si el error persiste después de todo?
Contacta con nuestro equipo de soporte. Diles que has seguido esta guía y muéstrales el mensaje de error detallado (si lo activaste en el Paso 1). Ellos podrán revisar los logs del servidor a nivel raíz.
Conclusión
El error 500 en tu tienda PrestaShop Syspanel no es el fin del mundo. Con un enfoque metódico y las herramientas que te ofrece tu panel de control (accesible por el puerto 2106), puedes resolverlo tú mismo en la mayoría de los casos. Recuerda: activa el modo debug, revisa los logs, y actúa según el mensaje. Si algo se sale de tu control, estamos aquí para ayudarte.
¡Espero que este artículo te haya sido útil! Si tienes más dudas, no dudes en escribirnos. ¡Buena suerte con tu tienda!
