Solución a errores 500 Internal Server Error en PrestaShop
¡Hola! Soy el soporte técnico de tu hosting. Si estás leyendo esto, probablemente te has encontrado con la temida pantalla en blanco o el mensaje "Error 500 Internal Server Error" en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes, pero también uno de los más fáciles de solucionar si sabes por dónde empezar.
En esta guía extensa y paso a paso, vamos a desglosar todas las causas posibles y, lo más importante, cómo solucionar el error 500 PrestaShop de forma definitiva. Al final, también responderemos a las preguntas más frecuentes para que tengas todo claro.
¿Qué es un Error 500 Internal Server Error en PrestaShop?
Imagina que tu tienda PrestaShop es un coche. El error 500 es como si el motor se parara de repente, pero el tablero de mandos no te dice exactamente qué pieza ha fallado. Es un error genérico del servidor, lo que significa que algo ha ido mal en el lado del servidor (donde está alojada tu web) pero el sistema no puede dar más detalles por defecto.
Las causas pueden ser muy variadas: desde un plugin (módulo) conflictivo, hasta un archivo de configuración dañado, pasando por límites de memoria del servidor o problemas con los permisos de archivos. Lo bueno es que, siguiendo un orden lógico, podemos identificar y solucionar error 500 en la mayoría de los casos.
Paso 1: Lo Primero, Activa el Modo Debug de PrestaShop
El Internal Server Error PrestaShop es mudo por defecto. Necesitamos que nos cuente qué está pasando exactamente. Para ello, activaremos el modo de depuración (debug mode). Esto hará que, en lugar de una pantalla en blanco, veas un mensaje de error concreto, como "Fatal error: Allowed memory size exhausted".
¿Cómo activar el modo debug?
Tienes dos formas: a través del panel de control (si tu hosting lo permite) o modificando un archivo manualmente.
Opción A: Desde tu Panel de Control (Syspanel / HestiaCP)
Si tu hosting usa Syspanel (recuerda, el puerto de acceso es el 2106), puedes hacerlo desde el gestor de archivos:
- Accede a tu Syspanel:
https://tudominio.com:2106 - Ve a "Archivos" o "Gestor de Archivos".
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
public_htmlowww). - Busca el archivo llamado
config/defines.inc.php. - Haz clic derecho 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.
Opción B: A través de FTP (FileZilla, etc.)
- Conéctate a tu servidor mediante FTP.
- Navega a la carpeta
configdentro de la raíz de PrestaShop. - Descarga el archivo
defines.inc.phpa tu ordenador. - Ábrelo con un editor de texto (como Notepad++ o Sublime Text).
- Realiza el mismo cambio que en el paso anterior: de
falseatrue. - Sube el archivo modificado de vuelta al servidor, sobrescribiendo el original.
[WARNING] Una vez hayas solucionado el error, no olvides volver a poner
falseen el modo debug. Dejarlo activo en producción puede exponer información sensible de tu tienda (rutas, contraseñas de base de datos, etc.).
Paso 2: Analiza el Mensaje de Error (Ahora Visible)
Con el modo debug activo, recarga tu tienda. Ahora deberías ver un mensaje de error más descriptivo. Los más comunes son:
- "Fatal error: Allowed memory size of X bytes exhausted": Tu servidor se ha quedado sin memoria PHP.
- "Fatal error: Uncaught Error: Call to undefined function...": Un módulo o tema está intentando usar una función que no existe.
- "Parse error: syntax error, unexpected...": Hay un error de sintaxis en un archivo PHP (normalmente después de una actualización o edición manual).
- "Class 'X' not found": Falta un archivo de clase, a menudo por una actualización incompleta.
Anota el error exacto. Eso te dará una pista directa.
Paso 3: Soluciones Específicas para Cada Tipo de Error
Si el error es de Memoria (Allowed memory size)
Este es el error 500 PrestaShop más habitual. La solución es aumentar el límite de memoria PHP.
¿Cómo aumentar la memoria PHP?
-
Desde Syspanel (HestiaCP, puerto 2106):
- Ve a "Ajustes de PHP" o "PHP-FPM".
- Busca la opción
memory_limit. - Auméntalo a
256Mo incluso512Msi tu plan de hosting lo permite. - Guarda y reinicia el servicio PHP (suele haber un botón para ello).
-
Desde un archivo
.htaccess:
Si no tienes acceso a los ajustes de PHP, puedes intentar añadir esta línea al archivo.htaccessque está en la raíz de tu PrestaShop:php_value memory_limit 256M -
Desde un archivo
php.ini:
Si tu hosting te permite crear unphp.inipersonalizado, añade:memory_limit = 256M
[INFO] Si después de aumentar la memoria el error persiste, puede que tu plan de hosting sea demasiado limitado para la cantidad de módulos o productos que tienes. Considera migrar a un hosting PrestaShop más potente.
Si el error es de un Módulo o Tema (Call to undefined function, Class not found)
Aquí el culpable suele ser un módulo recién instalado, actualizado o un tema mal configurado.
Solución: Deshabilitar el módulo problemático
- Accede a tu base de datos (phpMyAdmin desde Syspanel o tu cPanel).
- Busca la tabla
ps_modules(el prefijops_puede variar). - Busca el módulo que crees que está causando el problema. Si no lo sabes, mira la fecha de instalación o el nombre en el error.
- Cambia el valor de la columna
activede1a0para deshabilitarlo. - Recarga tu tienda. Si el error desaparece, ya sabes qué módulo es.
[TIP] Si no puedes acceder a la base de datos, puedes renombrar la carpeta del módulo desde FTP (en
/modules/nombre_del_modulo) a/modules/nombre_del_modulo_old. Esto lo deshabilitará forzosamente.
Si el error es de Sintaxis (Parse error)
Esto ocurre casi siempre al editar manualmente un archivo PHP (por ejemplo, un archivo de traducción o de tema) y cometer un error al escribir (una coma, un punto y coma, una llave mal cerrada).
Solución: Revisa el archivo indicado en el error
- El mensaje de error te dirá la ruta exacta del archivo y la línea donde está el error.
- Conéctate por FTP y descarga ese archivo.
- Ábrelo con un editor que resalte la sintaxis PHP (Notepad++ es perfecto).
- Revisa la línea indicada y las 5 líneas anteriores. Busca errores típicos:
- Falta un
;al final de una línea. - Una llave
{o}sin cerrar. - Una comilla simple o doble sin cerrar.
- Falta un
- Corrige el error y sube el archivo de nuevo.
[WARNING] Si no estás seguro de lo que estás haciendo, no edites archivos PHP directamente. Siempre es mejor hacer una copia de seguridad antes.
Paso 4: Soluciones Generales para Errores 500 sin Mensaje Claro
A veces, el modo debug no muestra nada o el error es muy vago. Prueba estas soluciones universales:
1. Limpia la Caché de PrestaShop
La caché corrupta es una causa muy frecuente de PrestaShop problemas servidor.
- Desde FTP: Elimina todo el contenido de la carpeta
/var/cache/(excepto el archivo.htaccessy elindex.phpque suele haber dentro). - Desde el Back Office (si aún puedes acceder): Ve a Parámetros de la Tienda > Rendimiento > Limpiar caché.
2. Revisa los Permisos de Archivos y Carpetas
PrestaShop necesita permisos específicos para funcionar. Los permisos incorrectos pueden provocar un error 500.
- Carpetas: Deben tener permisos
755(a veces775). - Archivos: Deben tener permisos
644.
Puedes cambiarlos desde tu cliente FTP: selecciona todos los archivos y carpetas, haz clic derecho y elige "Permisos de archivo" o "CHMOD".
[TIP] Muchos hostings tienen una opción en el panel de control (Syspanel) para "Restablecer permisos de archivos". Búscala, te ahorrará tiempo.
3. Verifica el Archivo .htaccess
Un .htaccess corrupto o mal generado puede causar un Internal Server Error PrestaShop.
- Conéctate por FTP a la raíz de tu PrestaShop.
- Renombra el archivo
.htaccessa.htaccess_old. - Recarga tu tienda. Si funciona, el problema era el
.htaccess. - Para regenerarlo, ve al Back Office de PrestaShop (si puedes acceder) a Parámetros de la Tienda > SEO y URLs > Guardar (sin cambiar nada). Esto generará un nuevo
.htaccesslimpio. - Si no puedes acceder al Back Office, deberás crear uno nuevo manualmente o pedir a tu hosting que lo genere.
4. Comprueba el Espacio en Disco
Si tu servidor se ha quedado sin espacio en disco, PrestaShop no puede escribir archivos temporales y lanza un error 500.
- Desde Syspanel, revisa el uso de disco. Si está al 100%, elimina archivos temporales, logs antiguos o copias de seguridad innecesarias.
FAQ: Preguntas Frecuentes sobre el Error 500 en PrestaShop
¿Por qué me sale error 500 justo después de instalar un módulo?
Es la causa más común. El módulo puede ser incompatible con tu versión de PrestaShop, con tu tema o con otro módulo. Sigue los pasos del Paso 3 para deshabilitarlo desde la base de datos.
¿El error 500 puede ser culpa de mi hosting?
Sí, absolutamente. Un servidor con recursos insuficientes (poca memoria RAM, CPU limitada), una mala configuración de PHP o un corte de servicio pueden provocar este error. Si has probado todo lo anterior y el error persiste, contacta con el soporte de tu hosting PrestaShop y diles que tienes un error 500 interno. Ellos pueden revisar los logs del servidor que tú no ves.
¿Cómo veo los logs de error del servidor?
Los logs del servidor son la fuente de información más fiable. En Syspanel (HestiaCP), suelen estar en la sección "Registros" o "Logs". Busca el archivo error.log del dominio afectado. Allí verás el error exacto con fecha y hora.
He hecho todo y sigue el error 500, ¿qué hago?
- Revisa los logs del servidor (como te acabo de decir).
- Restaura una copia de seguridad reciente de tu tienda (archivos y base de datos). Si no tienes una, ¡es hora de empezar a hacerlas!
- Contacta con el soporte técnico de tu hosting. Diles el error exacto que ves (con el modo debug activado) y los pasos que ya has dado. Ellos tienen herramientas para diagnosticar problemas a nivel de servidor que tú no tienes.
Resumen Final
El error 500 PrestaShop no es el fin del mundo. Siguiendo este orden lógico, lo resolverás:
- Activa el modo debug para ver el error real.
- Aumenta la memoria PHP si el error es de memoria.
- Deshabilita módulos sospechosos si el error apunta a uno.
- Limpia la caché y repara los permisos de archivos.
- Verifica el
.htaccessy el espacio en disco. - Si nada funciona, mira los logs y llama a tu hosting.
Espero que esta guía te haya sido de gran ayuda. Recuerda que la paciencia y el orden son tus mejores aliados. ¡Tu tienda volverá a funcionar en poco tiempo!
