Solucionar Error 500 en PrestaShop: Guía para Syspanel
¿Has llegado a tu tienda PrestaShop y te has encontrado con la temida pantalla en blanco o el mensaje "Error 500 Internal Server Error"? No te preocupes, es uno de los problemas más comunes en el mundo del hosting y, afortunadamente, en la mayoría de los casos tiene una solución sencilla.
En esta guía completa, pensada especialmente para usuarios de Syspanel (antes conocido como HestiaCP, al que accedes por el puerto 2106), te explicaré paso a paso cómo identificar y solucionar el error 500 en PrestaShop utilizando las herramientas que tienes a tu disposición. No necesitas ser un experto técnico, solo seguir estas instrucciones con calma.
¿Qué es el Error 500 en PrestaShop?
El error 500 es un código de estado HTTP genérico que indica que algo ha fallado en el servidor, pero el servidor no puede dar más detalles sobre la causa exacta. En el contexto de PrestaShop, suele deberse a:
- Problemas de memoria (límite de PHP).
- Módulos o temas incompatibles o corruptos.
- Archivos con permisos incorrectos.
- Errores en archivos de configuración clave (como .htaccess o settings.inc.php).
- Problemas con la versión de PHP.
[INFO] Es importante diferenciarlo de un error 404 (página no encontrada) o un error de conexión a la base de datos. El error 500 es un "catch-all" que nos obliga a investigar un poco.
Paso 1: Acceder a Syspanel (HestiaCP) por el puerto 2106
Antes de empezar a solucionar nada, necesitas entrar a tu panel de control. Recuerda que tu acceso a Syspanel es a través de un puerto específico.
- Abre tu navegador web favorito (Chrome, Firefox, Edge).
- En la barra de direcciones, escribe la URL de tu servidor seguida de
:2106. Por ejemplo:https://tudominio.com:2106ohttps://la-ip-de-tu-servidor:2106. - Introduce tu nombre de usuario y contraseña de Syspanel.
[WARNING] Si no recuerdas tu contraseña, deberás solicitar un restablecimiento a tu proveedor de hosting o al administrador del servidor.
Una vez dentro, ya tienes las herramientas para empezar a diagnosticar.
Paso 2: El Primer Diagnóstico: Habilitar los Errores de PHP
El error 500 es mudo por defecto. Para que PrestaShop nos cuente qué está pasando realmente, debemos activar la visualización de errores de PHP. Esto se hace a través del archivo config/defines.inc.php de tu PrestaShop.
¿Dónde está el archivo?
Dentro de Syspanel, ve a la sección "Archivos" o "Administrador de archivos" (normalmente representado por un icono de carpeta). Navega hasta la carpeta public_html (o el nombre de tu dominio) y luego a la carpeta config.
Pasos para modificar defines.inc.php:
- Busca el archivo
defines.inc.phpdentro de la carpetaconfig. - 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.
- Ahora, vuelve a cargar tu tienda. En lugar del error 500, deberías ver un mensaje de error detallado de PHP. Anota ese mensaje, te será de gran ayuda.
[TIP] Si al activar el modo dev ves muchos "warnings" (avisos) pero no un "Fatal error", el problema puede ser de memoria o de un módulo. El error fatal suele ser el más claro.
Después de anotar el error
Una vez hayas identificado el error, vuelve a poner false en la línea de _PS_MODE_DEV_ para no mostrar información sensible a los visitantes.
Paso 3: Soluciones Comunes según el Diagnóstico
Dependiendo de lo que hayas visto en el paso anterior (o si no viste nada), aquí tienes las soluciones más efectivas.
3.1. Aumentar el Límite de Memoria de PHP
Este es el culpable número uno. Si el error decía algo como Allowed memory size of 134217728 bytes exhausted, necesitas más memoria.
¿Cómo hacerlo en Syspanel?
- En Syspanel, ve a "Web" y luego a la pestaña "Configuración avanzada" o "PHP" (a veces llamado "PHP-FPM").
- Busca la opción "memory_limit".
- Cámbiala de
128Ma256Mo incluso512Msi tu hosting lo permite. - Guarda los cambios y reinicia el servicio PHP. En Syspanel, esto suele ser un botón que dice "Reiniciar PHP" o "Restart" en la misma sección.
[WARNING] No pongas un valor demasiado alto como "1024M" si no es necesario, ya que podría afectar al rendimiento del servidor.
3.2. Deshabilitar Módulos o Temas Problemáticos
Si el error apareció después de instalar un módulo o cambiar el tema, probablemente sea el culpable.
¿Cómo deshabilitar un módulo sin acceso al panel de administración?
A veces el error es tan grave que no te deja ni entrar al back office. En ese caso, usa Syspanel:
- Ve al Administrador de archivos.
- Navega a la carpeta
modulesdentro depublic_html. - Busca la carpeta del módulo sospechoso (por ejemplo, si se llama "supermodulo", busca esa carpeta).
- Renombra la carpeta añadiendo algo como
_oldal final. Por ejemplo:supermodulo_old. - Esto desactivará el módulo por completo. Vuelve a cargar tu tienda.
¿Cómo cambiar a un tema por defecto?
- En el Administrador de archivos, ve a la carpeta
themes. - Renombra la carpeta de tu tema activo (por ejemplo,
micarpeta_temaamicarpeta_tema_old). - PrestaShop suele tener un tema por defecto llamado
classic. Si renombras el tuyo, PrestaShop intentará cargar el tema por defecto.
3.3. Regenerar el Archivo .htaccess
Un archivo .htaccess corrupto es otra causa frecuente.
- En el Administrador de archivos, ve a la raíz de tu dominio (
public_html). - Busca el archivo
.htaccess. Ojo, puede estar oculto. En Syspanel, suele haber una opción para "Mostrar archivos ocultos". - Renómbralo a
.htaccess_oldpara desactivarlo. - Vuelve a cargar tu tienda. Si funciona, el problema era ese archivo.
- Para regenerarlo correctamente:
- Entra a tu back office de PrestaShop (si puedes).
- Ve a Configuración de la tienda > Tráfico y SEO > URL y redireccionamiento.
- Haz clic en "Guardar" (incluso si no has cambiado nada). Esto regenerará el
.htaccess.
3.4. Verificar Permisos de Archivos
Los permisos incorrectos pueden impedir que PrestaShop lea o escriba archivos necesarios.
¿Cómo corregirlos en Syspanel?
- En el Administrador de archivos, selecciona la carpeta raíz (
public_html). - Busca una opción que diga "Permisos" o "Propiedades".
- Deberías ver una ventana con casillas. La configuración estándar segura es:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Marca la opción "Aplicar a subdirectorios y archivos" (o "Recursivo").
- Haz clic en "Aceptar" o "Guardar".
[INFO] Algunos archivos específicos como
config/settings.inc.php(para la base de datos) deben tener permisos 644 o incluso 444 (solo lectura) por seguridad. No los pongas a 777.
Paso 4: Solución Avanzada: Revisar los Logs del Servidor
Si nada de lo anterior funciona, los logs del servidor son tu mejor amigo. En Syspanel, puedes acceder a ellos fácilmente.
- En el menú principal, busca la sección "Logs" o "Registros".
- Busca el log de "Error" del servidor web (Apache o Nginx, dependiendo de la configuración). Normalmente se llama
error.logophp-error.log. - Abre el archivo. Busca las líneas que coincidan con la hora en que viste el error 500.
- Las líneas de error suelen ser muy descriptivas. Por ejemplo:
PHP Fatal error: Uncaught Error: Class 'MiClase' not found-> Indica un módulo o tema con clases faltantes.PHP Fatal error: Cannot redeclare function-> Conflicto entre módulos.mod_fcgid: can't apply process slot-> Problema de recursos del servidor.
Copia el texto exacto del error y búscalo en Google o pregúntale a tu soporte técnico.
Preguntas Frecuentes (FAQ)
1. ¿El error 500 puede deberse a una actualización de PrestaShop?
Sí, es muy común. Las actualizaciones de versión pueden romper módulos o temas no compatibles. Si acabas de actualizar, desactiva todos los módulos no oficiales y vuelve al tema por defecto.
2. ¿Qué hago si no puedo acceder ni al back office de PrestaShop?
Sigue los pasos de esta guía usando Syspanel. Puedes modificar archivos, deshabilitar módulos y cambiar configuraciones directamente desde el Administrador de archivos sin necesidad de entrar al back office.
3. ¿El error 500 puede ser culpa de mi proveedor de hosting?
Sí. A veces el servidor tiene una configuración de PHP demasiado restrictiva (límite de memoria bajo, tiempo de ejecución corto) o hay un problema de recursos general (CPU, RAM). Si después de seguir todos los pasos el error persiste, contacta a tu soporte técnico y muéstrales los logs.
4. ¿Debo activar el modo debug (dev) siempre?
No. Solo actívalo para diagnosticar el problema y luego desactívalo inmediatamente. Dejarlo activo en una tienda en producción expone información sensible de tu sistema (rutas de archivos, versiones, etc.) a los visitantes.
5. ¿Por qué no veo el error aunque active el modo dev?
Puede ser que el error ocurra antes de que PrestaShop cargue su sistema de manejo de errores (por ejemplo, en el archivo index.php o config/config.inc.php). En ese caso, la única solución es revisar los logs del servidor (Paso 4).
Conclusión
El error 500 en PrestaShop puede ser frustrante, pero con las herramientas de Syspanel y un enfoque metódico, es completamente solucionable. Recuerda siempre empezar por lo más simple:
- Activar el modo debug para obtener un mensaje claro.
- Aumentar el límite de memoria de PHP.
- Deshabilitar módulos y temas recién instalados.
- Regenerar el .htaccess.
- Verificar los permisos de archivos.
- Revisar los logs del servidor.
Si has llegado hasta aquí y el problema persiste, no dudes en contactar con el equipo de soporte de tu hosting. Proporcionarles la información de los logs y los pasos que ya has seguido acelerará enormemente la resolución. ¡Ánimo, que tu tienda volverá a funcionar!
