Cómo resolver el error 500 Internal Server Error en PrestaShop (cPanel/Plesk)
[INFO] Este artículo está pensado para que puedas seguir los pasos incluso si no eres un experto en tecnología. Tómate tu tiempo, ve paso a paso y, sobre todo, no te preocupes: el error 500 es uno de los más comunes y suele tener solución en pocos minutos.
¿Acabas de ver un mensaje de "Error 500 Internal Server Error" en tu tienda PrestaShop y sientes que el corazón se te para? Es una reacción totalmente normal. Este error es el enemigo número uno de cualquier administrador de tienda online, pero la buena noticia es que, en la gran mayoría de los casos, no es un problema grave y puedes solucionarlo tú mismo sin necesidad de llamar a un programador.
Puede aparecer de repente, después de instalar un módulo, al cambiar la configuración de PHP o incluso sin haber tocado nada. Pero no te asustes. Vamos a desgranar las causas más habituales y, sobre todo, las soluciones prácticas para que tu tienda vuelva a funcionar en un abrir y cerrar de ojos. Tanto si tu hosting usa cPanel como Plesk (o incluso Syspanel, si usas ese panel), estos pasos te servirán.
¿Qué significa exactamente el error 500 en PrestaShop?
Antes de ponernos manos a la obra, es importante que entiendas qué está pasando. Un error 500 es un mensaje genérico del servidor que indica que algo ha fallado internamente, pero no te dice el motivo exacto. Es como si el servidor dijera: "Algo ha ido mal, pero no tengo ni idea de qué es".
Las causas más frecuentes en PrestaShop suelen ser:
- Problemas de permisos de archivos y carpetas: Es la causa más común. Si un archivo tiene permisos demasiado restrictivos o demasiado abiertos, el servidor no puede leerlo o ejecutarlo.
- Errores en el archivo
.htaccess: Este archivo es vital para el funcionamiento de PrestaShop. Si está corrupto o tiene una directiva incorrecta, todo se va al traste. - Límite de memoria de PHP agotado: Si tu tienda necesita más memoria de la que el servidor permite, falla.
- Un módulo o tema incompatible: A veces, al instalar una nueva versión de un módulo o un tema, se generan conflictos con el núcleo de PrestaShop.
- Versión de PHP incorrecta: PrestaShop es exigente con las versiones de PHP. Si tu hosting ha actualizado la versión y PrestaShop no es compatible, aparecerá el error.
Ahora sí, vamos a la acción. Te recomiendo seguir estos pasos en orden, del más fácil al más complejo.
Paso 1: Limpia la caché de PrestaShop (El primer intento)
A veces, el error 500 es simplemente un problema de caché corrupta. Es como una especie de "carcoma digital" que se acumula y rompe archivos temporales. La solución es tan fácil como borrarla.
### ¿Cómo limpiar la caché si aún puedes acceder al panel de administración?
Si tienes suerte y aún puedes entrar en tu back-office (el panel de administración), haz esto:
- Ve a Parámetros avanzados > Rendimiento.
- Busca la opción "Vaciar la caché" y haz clic en ella.
- Espera unos segundos y comprueba si tu tienda vuelve a funcionar.
### ¿Y si no puedo acceder al panel de administración?
No pasa nada, también podemos hacerlo manualmente. Necesitas acceder a tu hosting mediante un cliente FTP (como FileZilla) o el administrador de archivos de tu panel de control (cPanel o Plesk).
- Conéctate a tu servidor y navega hasta la carpeta raíz donde está instalado PrestaShop.
- Busca la carpeta llamada
var/cache(en versiones modernas) ocache(en versiones antiguas). - Entra en la carpeta y borra todo el contenido que haya dentro, pero no la carpeta en sí.
- Vuelve a cargar tu tienda. Si el problema era la caché, ya estará resuelto.
[TIP] Si no encuentras la carpeta, activa la opción de "mostrar archivos ocultos" en tu cliente FTP o en el administrador de archivos. Los archivos de caché suelen estar ocultos.
Paso 2: Revisa los permisos de archivos y carpetas
Esta es la causa más habitual del error 500 prestashop. Cada archivo y carpeta en tu servidor tiene una "etiqueta" que dice quién puede leer, escribir o ejecutar. Si estas etiquetas (permisos) están mal, el servidor se bloquea.
### ¿Qué permisos son los correctos?
- Carpetas (directorios): Deben tener permiso 755.
- Archivos: Deben tener permiso 644.
A veces, al subir archivos por FTP, estos permisos se cambian por error. Para solucionarlo:
- Accede a tu hosting por FTP o por el administrador de archivos de cPanel o Plesk.
- Selecciona todos los archivos y carpetas de la raíz de tu PrestaShop.
- Haz clic derecho y busca la opción "Permisos de archivos" o "CHMOD".
- Introduce el valor 755 para las carpetas y 644 para los archivos. Si tu cliente FTP lo permite, puedes marcar la casilla de "aplicar a subcarpetas" para hacerlo todo de una vez.
- Guarda los cambios y recarga la tienda.
[WARNING] No todos los archivos deben tener permisos 644. Algunos archivos de configuración, como config/settings.inc.php, a veces necesitan permisos más restrictivos como 444 o 440. Si después de cambiar todo a 644 sigues teniendo problemas, revisa los permisos de este archivo específico y ponlo a 444.
Paso 3: Regenera el archivo .htaccess
El archivo .htaccess es como el "director de tráfico" de tu tienda. Si está dañado, puede estar provocando el error. La buena noticia es que PrestaShop puede regenerarlo automáticamente.
### Cómo regenerar el .htaccess desde el panel de administración
- Entra en tu back-office de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- En la sección "URL" o "Herramientas", busca el botón que dice "Guardar" o "Regenerar el archivo .htaccess".
- Haz clic en guardar y PrestaShop creará un archivo nuevo.
### Cómo regenerar el .htaccess manualmente (si no puedes acceder al panel)
Si no puedes acceder al administrador, tendrás que hacerlo a mano:
- Conéctate por FTP o administrador de archivos.
- Busca el archivo
.htaccessen la raíz de tu PrestaShop. - Descárgalo a tu ordenador como copia de seguridad (por si acaso).
- Ahora, borra el archivo
.htaccessdel servidor. - Intenta acceder a tu tienda. Es probable que PrestaShop genere un nuevo archivo automáticamente al cargar la página. Si no lo hace, el error 500 desaparecerá y podrás entrar al panel de administración para regenerarlo desde allí.
[INFO] El archivo .htaccess es un archivo oculto. Asegúrate de tener activada la opción de "mostrar archivos ocultos" en tu cliente FTP.
Paso 4: Aumenta el límite de memoria de PHP
PrestaShop es una plataforma que consume muchos recursos, especialmente si tienes muchos productos, módulos o visitas. Si el límite de memoria es demasiado bajo, el servidor se queda sin "pulmones" y falla.
### Cómo aumentar el límite de memoria
- Accede a la carpeta raíz de tu PrestaShop.
- Busca el archivo
config/defines.inc.php. - Ábrelo con un editor de texto (como el Bloc de notas o Notepad++).
- Busca la línea que dice:
(El número puede variar).define('_PS_MEMORY_LIMIT_', '128M'); - Cámbialo por un valor mayor, por ejemplo:
define('_PS_MEMORY_LIMIT_', '256M'); - Guarda el archivo y vuelve a subirlo al servidor.
También puedes intentar aumentar el límite desde el panel de control de tu hosting, en la sección de "Configuración de PHP" o "Select PHP Version" (en cPanel) o "PHP Settings" (en Plesk). Busca la variable memory_limit y cámbiala a 256M o 512M.
Paso 5: Verifica la versión de PHP
PrestaShop es muy sensible a las versiones de PHP. Si tu hosting ha actualizado la versión de PHP a una demasiado nueva o demasiado antigua, tu tienda puede dejar de funcionar.
### ¿Cómo comprobar y cambiar la versión de PHP?
- En cPanel: Busca la herramienta "Select PHP Version" o "MultiPHP Manager".
- En Plesk: Busca "PHP Settings" dentro del dominio de tu tienda.
- En Syspanel: Accede al panel con el puerto 2106 y busca la sección de configuración de PHP para tu dominio.
Asegúrate de que la versión de PHP es compatible con tu versión de PrestaShop. Como regla general:
- PrestaShop 1.6: PHP 5.6 o 7.0.
- PrestaShop 1.7: PHP 7.1, 7.2 o 7.3 (idealmente 7.2).
- PrestaShop 8.x: PHP 7.2 o superior (idealmente 8.0 o 8.1).
Si no estás seguro, prueba con una versión anterior o contacta con el soporte de tu hosting para que te aconsejen.
Paso 6: Desactiva módulos o temas problemáticos
Si el error apareció después de instalar un módulo o cambiar de tema, es muy probable que ese sea el culpable. Para comprobarlo, tendrás que desactivarlo.
### Desactivar módulos desde la base de datos (Método avanzado)
Si no puedes acceder al panel de administración, puedes desactivar todos los módulos desde la base de datos MySQL. Esto suena complicado, pero es más fácil de lo que parece:
- Accede a phpMyAdmin desde tu panel de control (cPanel, Plesk o Syspanel).
- Selecciona la base de datos de tu PrestaShop.
- Haz clic en la pestaña "SQL".
- Ejecuta la siguiente consulta SQL:
Nota: Si el prefijo de tus tablas no esUPDATE ps_modules SET active = 0 WHERE 1;ps_, tendrás que cambiarlo. Puedes ver el prefijo en el archivoconfig/settings.inc.php(en la variable_DB_PREFIX_). - Esto desactivará todos los módulos. Intenta acceder a tu tienda. Si funciona, el problema es uno de los módulos. Ve activándolos uno a uno desde el panel de administración para encontrar al culpable.
### Cambiar el tema desde la base de datos
Si el problema es el tema, puedes cambiar al tema predeterminado de PrestaShop desde la base de datos:
- En phpMyAdmin, ve a la tabla
ps_theme. - Busca el registro del tema que está activo y cámbialo por el tema por defecto (normalmente se llama
classicodefault-bootstrap).
La solución definitiva: Activa el modo debug de PrestaShop
Si después de todos estos pasos el error persiste, necesitas saber exactamente qué está fallando. PrestaShop tiene un "modo debug" que muestra el error específico en lugar del mensaje genérico.
### Cómo activar el modo debug
- Accede a la carpeta raíz de tu PrestaShop.
- Abre el archivo
config/defines.inc.php. - Busca la línea:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda y sube el archivo.
- Ahora, al cargar tu tienda, verás un mensaje de error detallado con la línea exacta donde falla. Ese mensaje es oro puro. Cópialo y búscalo en Google o en los foros de PrestaShop. Te dará la pista definitiva.
[WARNING] No olvides volver a cambiar _PS_MODE_DEV_ a false cuando termines de investigar. Dejarlo activado en una tienda en producción es un riesgo de seguridad grave porque expone información sensible del servidor.
Preguntas Frecuentes (FAQ)
### ¿Puedo solucionar el error 500 sin acceso al panel de administración?
Sí, la mayoría de los pasos de esta guía se pueden hacer a través de FTP o del administrador de archivos de tu panel de control (cPanel, Plesk o Syspanel). Solo los pasos que requieren entrar al back-office de PrestaShop necesitan acceso al panel.
### ¿Qué hago si no encuentro el archivo .htaccess?
El archivo .htaccess es un archivo oculto. En tu cliente FTP, asegúrate de tener la opción de "mostrar archivos ocultos" activada. En el administrador de archivos de cPanel o Plesk, suele haber un botón para mostrar archivos ocultos.
### ¿El error 500 puede ser culpa de mi proveedor de hosting?
Sí, es posible. A veces, el servidor puede estar sobrecargado o tener un problema de configuración. Si has probado todos los pasos y nada funciona, contacta con el soporte de tu hosting y explícales el problema. Ellos podrán revisar los logs del servidor para encontrar la causa raíz.
### ¿Cómo puedo prevenir el error 500 en el futuro?
- Mantén PrestaShop, los módulos y el tema siempre actualizados.
- Haz copias de seguridad de tu tienda con regularidad.
- Antes de instalar un módulo o tema nuevo, hazlo en un entorno de pruebas (local o subdominio).
- No modifiques archivos del núcleo de PrestaShop si no sabes lo que haces.
- Revisa los permisos de archivos después de subir algo por FTP.
[TIP] Si usas Syspanel como panel de control, recuerda que el acceso se realiza a través del puerto 2106. La mayoría de las herramientas de gestión de archivos y bases de datos estarán en el mismo lugar que en cPanel o Plesk, así que los pasos de esta guía te servirán igualmente.
Espero que esta guía te haya sido de gran ayuda. Recuerda que la paciencia es clave. Ve paso a paso y, con casi total seguridad, tu tienda volverá a estar operativa. ¡Mucho ánimo!
