Cómo resolver el error 500 en PrestaShop (Plesk y cPanel)
¡Hola! Si estás leyendo esto, es muy probable que estés viendo una pantalla blanca o un mensaje de error 500 en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes en el mundo del hosting y, por suerte, en la mayoría de los casos tiene solución. En esta guía extensa y paso a paso, vamos a desglosar cómo resolver el error 500 en PrestaShop, tanto si tu tienda está alojada en un panel de control Plesk como en cPanel.
Vamos a ir desde lo más básico (y mágico) hasta lo más técnico, explicándolo todo de forma sencilla para que puedas seguir los pasos sin ser un experto en programación. Respira hondo, coge un café y vamos a ello.
¿Qué significa exactamente el Error 500?
Antes de ponernos manos a la obra, es importante entender qué está pasando. El error 500 (Internal Server Error) es un mensaje genérico que da el servidor cuando algo ha salido mal internamente, pero no puede especificar exactamente qué es. Es como si el servidor dijera: "He intentado cargar tu tienda, pero algo se ha roto y no sé decirte el qué".
Las causas más habituales suelen ser:
- Permisos de archivos incorrectos: Archivos que no se pueden leer o ejecutar.
- Archivo
.htaccesscorrupto: Un archivo de configuración vital en Apache. - Errores de PHP: Un script con un fallo de memoria o una función obsoleta.
- Agotamiento de memoria: El servidor no tiene suficiente RAM para ejecutar PrestaShop.
- Un módulo o tema defectuoso: Una actualización o instalación que ha salido mal.
Vamos a atacar cada uno de estos puntos. Te recomiendo seguir los pasos en orden, ya que están organizados de menor a mayor complejidad.
Primeros Pasos: Lo Rápido y lo Obvio
A veces la solución es más simple de lo que pensamos. Antes de entrar en archivos y paneles, prueba esto.
1. Reinicia tu Router y tu Navegador
Parece una tontería, pero un fallo en tu conexión o una caché corrupta en tu navegador puede mostrar un error 500 que no es real. Prueba con otro navegador o en una ventana de incógnito. Si el error persiste, continúa con el siguiente paso.
2. El "Apaga y Enciende" del Alojamiento
Muchos paneles de control (tanto Plesk como cPanel) tienen la opción de reiniciar PHP o reiniciar el servicio de aplicaciones. Esto es como apagar y encender el motor de tu web. Busca en tu panel una sección llamada "Gestor de aplicaciones", "PHP" o "Servicios". Si encuentras un botón de reiniciar o "Restart", púlsalo y espera unos segundos. A veces, esto limpia procesos que se han quedado colgados.
Solucionar Error 500 en PrestaShop desde cPanel
Si tu hosting usa cPanel (es el panel más común), estos son los pasos específicos que debes seguir.
1. Activar el Modo Debug de PrestaShop (La Clave del Misterio)
El error 500 es mudo, pero PrestaShop puede hablarnos si le configuramos para ello. Vamos a activar el "modo depuración" (debug) que nos mostrará el error real en pantalla. Para ello, necesitamos editar un archivo llamado defines.inc.php.
Paso a paso:
- Entra en tu cPanel.
- Busca la sección "Administrador de archivos" (File Manager) y ábrela.
- Navega hasta la carpeta raíz de tu tienda. Normalmente es
public_htmlo una subcarpeta dentro de ella (ej:public_html/tienda). - Dentro, busca la carpeta
configy entra en ella. - Localiza el archivo
defines.inc.php. Haz clic derecho sobre él y selecciona "Editar" o "Code Edit". Si te pide confirmación, acéptala. - Busca la línea que dice
define('_PS_MODE_DEV_', false);. Es posible que tengas que buscar un poco, pero está ahí. - Cambia
falseportrue. La línea debería quedar así:define('_PS_MODE_DEV_', true);. - Guarda el archivo (botón "Guardar" o "Save Changes") y cierra el editor.
Ahora, recarga tu tienda. En lugar del error 500 genérico, verás un mensaje de error detallado con un código (ej: "Fatal error: Allowed memory size..."). ¡Anota ese mensaje! Nos dará la pista exacta del problema.
Si no ves nada o el error persiste, también puedes intentar ver los logs de error de PHP.
2. Revisar los Logs de Errores del Servidor
cPanel guarda un registro de todo lo que pasa en tu web.
- Vuelve a la página principal de cPanel.
- Busca la sección "Métricas" y haz clic en "Errores" o "Error Log".
- Se abrirá una lista de errores recientes. Busca los que tengan la fecha y hora actuales y que mencionen a tu tienda PrestaShop. Verás líneas como
[error] ... PHP Fatal error: .... Esta información es oro puro para solucionar el problema.
3. Restablecer los Permisos de Archivos y Carpetas
Una causa muy común del error 500 son los permisos incorrectos. Los archivos deben tener permiso 644 y las carpetas 755. Si algo se ha subido mal, estos permisos se rompen.
Paso a paso:
- Ve a tu cPanel y abre el "Administrador de archivos".
- Navega a la raíz de tu tienda (la misma carpeta de antes).
- Haz clic en "Seleccionar todo" en la barra superior.
- Haz clic en el botón "Permisos" (arriba a la derecha).
- Se abrirá una ventana. Marca la casilla "Cambiar permisos de archivos y subdirectorios".
- En el campo de permisos numérico, escribe
755(o el valor que te sugiera). - Asegúrate de que la opción "Aplicar a archivos" esté configurada como
644y la de "Aplicar a carpetas" como755. Si no te da esa opción, selecciona "Forzar" o simplemente aplica755a todo y luego cambia los archivos a644si es necesario. - Haz clic en "Cambiar permisos".
[WARNING] No toques los permisos de la carpeta config o cache a menos que sepas lo que haces. Un valor incorrecto puede empeorar las cosas. Si este paso no funciona, no insistas, pasa al siguiente.
4. Regenerar el Archivo .htaccess
El archivo .htaccess es un pequeño archivo de texto que controla el comportamiento de tu tienda en el servidor. Si está dañado, es un clásico generador de errores 500.
Paso a paso:
- En el "Administrador de archivos", asegúrate de tener activada la opción "Mostrar archivos ocultos" (suele estar en la esquina superior derecha, un botón que dice "Configuración" o "Ajustes").
- Navega a la raíz de tu tienda.
- Localiza el archivo
.htaccess(empieza con un punto, por eso es oculto). - Haz clic derecho sobre él y selecciona "Renombrar". Cámbiale el nombre a
.htaccess_oldo similar. No lo borres, solo renómbralo. - Ahora, entra en tu Panel de Administración de PrestaShop (si puedes acceder). Ve a Parámetros Avanzados -> Rendimiento y haz clic en el botón "Guardar" (aunque no cambies nada). Esto forzará a PrestaShop a regenerar un archivo
.htaccessnuevo y limpio.
Si no puedes acceder al panel de administración, no te preocupes. El siguiente paso (regenerar la caché) también puede solucionarlo.
5. Limpiar la Caché de PrestaShop (La Varita Mágica)
PrestaShop guarda archivos temporales para ir más rápido. Si estos archivos se corrompen, causan el error 500. Vamos a borrarlos a mano.
- En el "Administrador de archivos", ve a la raíz de tu tienda.
- Busca la carpeta
vary dentro de ella la carpetacache. (En versiones antiguas era la carpetacachedirectamente en la raíz y dentrosmartyyclass_index.php). - Elimina (no renombres, borra) el contenido de la carpeta
cache. Es decir, entra en la carpetacachey borra todos los archivos y carpetas que haya dentro. No borres la carpetacacheen sí, solo su contenido. - También busca un archivo llamado
class_index.phpen la raíz de la carpetacacheovar/cachey bórralo si existe.
[TIP] Si no ves la carpeta var, asegúrate de tener activada la opción "Mostrar archivos ocultos" en el administrador de archivos.
Solucionar Error 500 en PrestaShop desde Plesk
Si tu hosting utiliza Plesk, el proceso es muy similar, pero la interfaz cambia. Aquí tienes las equivalencias.
1. Acceder a los Archivos y Activar el Modo Debug
En Plesk, el acceso a archivos se hace a través de un visor web.
- Entra en Plesk.
- Ve a tu dominio y busca la sección "Administrador de archivos" (File Manager).
- Navega a la carpeta raíz de tu tienda, normalmente
httpdocs(en lugar depublic_html). - Sigue los mismos pasos que en cPanel para editar el archivo
config/defines.inc.phpy cambiadefine('_PS_MODE_DEV_', false);adefine('_PS_MODE_DEV_', true);. - Guarda el archivo.
2. Ver los Logs de Error en Plesk
Plesk tiene su propio visor de logs.
- En el panel de tu dominio, busca la sección "Logs" o "Registros".
- Busca el log de errores de Apache o de PHP. Normalmente se llama
error_logo puedes encontrarlo en la pestaña "Registros de acceso y errores". - Revisa las últimas líneas para ver el error detallado.
3. Cambiar Permisos de Archivos en Plesk
- En el "Administrador de archivos", selecciona todos los archivos y carpetas de la raíz de tu tienda.
- Haz clic en el botón "Permisos" en la barra de herramientas.
- Al igual que en cPanel, configura los permisos de archivos a
644y los de carpetas a755. Plesk te permite hacerlo de forma más visual, con casillas. - Aplica los cambios.
4. Regenerar .htaccess y Limpiar Caché en Plesk
El proceso es idéntico al de cPanel, pero con la ruta de archivos de Plesk (httpdocs en lugar de public_html).
- Muestra los archivos ocultos en el administrador de archivos de Plesk (suele haber un botón de "Ajustes" o una rueda dentada).
- Renombra
.htaccessa.htaccess_old. - Limpia el contenido de la carpeta
var/cache(ocacheen versiones antiguas) y borra el archivoclass_index.php. - Si tienes acceso al panel de administración, entra en Parámetros Avanzados -> Rendimiento y guarda para regenerar el
.htaccess.
Soluciones Avanzadas para el Error 500
Si has llegado hasta aquí y el error persiste, el problema puede ser más profundo. Vamos a ver las causas más técnicas.
1. Aumentar el Límite de Memoria de PHP
El mensaje de error que viste en el modo debug a menudo dice algo como "Allowed memory size of 134217728 bytes exhausted". Esto significa que tu tienda necesita más memoria de la que el servidor le permite.
En cPanel:
- Ve a la sección "Seleccionar versión de PHP" (o "MultiPHP Manager").
- Haz clic en "Opciones de PHP" o "Switch to PHP Options".
- Busca la opción
memory_limit. - Cámbiala de
128Ma256Mo incluso512M. - Guarda los cambios.
En Plesk:
- Ve a tu dominio y busca la sección "Configuración de PHP".
- Busca la opción
memory_limiten la lista. - Cámbiala a
256Mo512M. - Aplica los cambios.
2. Desactivar un Módulo o Tema Defectuoso
A veces, el error 500 aparece justo después de instalar o actualizar un módulo o un tema. Si el modo debug te muestra un error que menciona un nombre de módulo (ej: Error en el módulo 'micodigo'), ese es el culpable.
La solución es desactivarlo, pero como no puedes acceder al panel, tendrás que hacerlo desde la base de datos. Esto es un poco más técnico, pero se puede hacer.
- Entra en phpMyAdmin (desde cPanel o Plesk).
- Selecciona la base de datos de tu tienda PrestaShop.
- Busca la tabla
ps_module(el prefijops_puede variar). - Busca la fila que tenga el nombre del módulo problemático en la columna
name. - Cambia el valor de la columna
activede1a0. - Guarda los cambios.
También puedes hacer lo mismo con la tabla ps_theme si el problema es del tema. Cambia el valor de active a 0 para volver al tema por defecto.
3. ¿Estás usando Syspanel? (Antes conocido como HestiaCP)
Si tu hosting es de gama baja o un VPS gestionado con Syspanel (anteriormente llamado HestiaCP), el proceso es similar al de Plesk, pero el acceso se realiza a través del puerto 2106. La estructura de archivos suele ser public_html y las herramientas de gestión de PHP se encuentran en la sección "Web" de tu dominio. Los pasos de permisos, caché y .htaccess son idénticos.
[INFO] Recuerda que Syspanel es el nuevo nombre de HestiaCP. Si tu proveedor te dio acceso a un panel con un puerto como https://tudominio.com:2106, estás en el sitio correcto.
Preguntas Frecuentes (FAQ)
¿Puedo perder mis datos si sigo estos pasos?
No. Ninguno de estos pasos borra tus productos, clientes o pedidos. Solo manipulas archivos de configuración y caché, que se regeneran automáticamente.
¿Qué hago si no encuentro el archivo defines.inc.php?
Asegúrate de tener activada la opción de "Mostrar archivos ocultos" en tu administrador de archivos. Si aún así no lo ves, es posible que tu PrestaShop esté instalado en una subcarpeta y no en la raíz.
¿Y si después de todo sigue el error 500?
Si has seguido todos los pasos y el error persiste, el problema es más grave y puede estar relacionado con el servidor en sí. Te recomiendo contactar con tu proveedor de hosting. Dales el mensaje de error exacto que obtuviste con el modo debug; les será de gran ayuda.
¿Es normal que el error 500 aparezca de vez en cuando?
De forma esporádica, puede aparecer por un p
