Cómo solucionar el error 'Error 500' en PrestaShop (cPanel y otros)
¿Qué significa el error 500 en PrestaShop y por qué aparece?
El error 500 en PrestaShop (también conocido como "Error interno del servidor") es uno de los problemas más comunes y, a la vez, más frustrantes para cualquier tienda online. La buena noticia es que, en la mayoría de los casos, tiene solución y no implica que hayas perdido tus datos ni tu catálogo de productos.
Este error se produce cuando el servidor donde está alojada tu tienda encuentra un problema interno que le impide procesar la solicitud. Es decir, el servidor "se bloquea" o "no sabe qué hacer" con una petición concreta, y en lugar de mostrarte tu tienda, te muestra una página en blanco o un mensaje genérico.
Síntomas habituales del error 500 en PrestaShop
Antes de lanzarte a solucionar nada, es importante que sepas identificar si realmente estás ante un error 500 o ante otro tipo de problema. Estos son los síntomas más típicos:
- Página en blanco total o parcialmente cargada.
- Mensaje genérico: "Error interno del servidor".
- En algunos casos, el error aparece solo al acceder a ciertas secciones (como el carrito o el panel de administración).
- En cPanel, puede aparecer un mensaje similar a: "500 Internal Server Error".
- En el navegador, la URL no cambia, pero la página no se renderiza correctamente.
[INFO] Un error 500 no es lo mismo que un error 404 (página no encontrada) ni un error 403 (acceso prohibido). El 500 es un problema del servidor, no de la URL ni de los permisos de acceso directo.
Causas más frecuentes del error 500 en PrestaShop
Para solucionar error 500 PrestaShop, primero necesitas entender qué lo está provocando. Las causas más habituales son:
1. Archivos con permisos incorrectos
PrestaShop necesita que ciertos archivos y carpetas tengan permisos específicos para poder funcionar. Si alguien (tú, un plugin o una actualización) cambia estos permisos, el servidor no puede leer o escribir los archivos necesarios y devuelve el error 500.
2. Archivo .htaccess corrupto o mal configurado
El archivo .htaccess es un archivo de configuración que controla cómo el servidor Apache gestiona tu tienda. Si se corrompe, se modifica mal o contiene directivas incompatibles, el servidor falla.
3. Límite de memoria PHP agotado
PrestaShop es una plataforma que consume bastante memoria, especialmente si tienes muchos módulos, productos o tráfico. Si el límite de memoria PHP de tu hosting es demasiado bajo, el servidor no puede ejecutar los scripts y devuelve el error.
4. Versión de PHP incompatible
PrestaShop funciona mejor con ciertas versiones de PHP. Si tu hosting ha actualizado PHP automáticamente y tu versión de PrestaShop es antigua, es muy probable que aparezca el error 500.
5. Módulos o temas conflictivos
Un módulo mal programado o un tema que no es compatible con tu versión de PrestaShop puede generar un conflicto que provoque el error interno del servidor.
6. Base de datos corrupta o saturada
Si la base de datos de tu tienda tiene tablas corruptas, está llena o hay problemas de conexión, PrestaShop no puede cargar los datos y devuelve el error.
7. Problemas con el archivo settings.inc.php
Este archivo contiene la configuración de conexión a la base de datos. Si se ha modificado, se ha borrado o tiene datos incorrectos, la tienda no puede conectarse a la base de datos y provoca el error.
Cómo solucionar el error 500 en PrestaShop paso a paso
Vamos a ir de lo más sencillo a lo más complejo. Sigue estos pasos en orden y, con casi total seguridad, encontrarás la solución.
Paso 1: Comprueba los permisos de archivos y carpetas
Este es el primer paso que debes hacer, ya que es la causa más común y la más fácil de verificar.
Desde cPanel (o cualquier panel de control con administrador de archivos)
- Accede a tu cPanel y entra en el Administrador de Archivos.
- Navega hasta la carpeta donde está instalada tu tienda PrestaShop (normalmente en
public_htmlo una subcarpeta). - Selecciona todos los archivos y carpetas de la raíz.
- Haz clic derecho y selecciona Permisos o Cambiar permisos.
- Establece los permisos recomendados:
- Carpetas: 755 (lectura, escritura y ejecución para el propietario; lectura y ejecución para el resto).
- Archivos: 644 (lectura y escritura para el propietario; solo lectura para el resto).
- Aplica los cambios y prueba de nuevo tu tienda.
[TIP] No establezcas permisos 777 (todos los permisos para todos) de forma general. Es un riesgo de seguridad grave. Úsalo solo temporalmente y en archivos concretos si es necesario.
Si usas Syspanel (HestiaCP)
Si tu hosting utiliza Syspanel (el antiguo HestiaCP), el acceso es por el puerto 2106. Dentro de Syspanel, busca la sección de "Archivos" o "Administrador de archivos" y realiza el mismo procedimiento de permisos.
[INFO] Syspanel es el panel de control que encontrarás en algunos hostings. Para acceder a él, escribe en tu navegador:
https://tu-dominio.com:2106. Una vez dentro, busca la opción de gestión de archivos.
Paso 2: Renombra o elimina el archivo .htaccess
El archivo .htaccess es un sospechoso habitual. Para comprobarlo, vamos a "desactivarlo" temporalmente.
- Accede al Administrador de Archivos de tu cPanel o Syspanel.
- Busca el archivo
.htaccessen la raíz de tu tienda. - No lo borres, mejor renómbralo a algo como
.htaccess.bako.htaccess_old. - Vuelve a intentar cargar tu tienda.
Si el error desaparece, el problema era el .htaccess. Ahora tienes dos opciones:
- Generar un nuevo
.htaccessdesde el panel de administración de PrestaShop (Parámetros avanzados → Rendimiento → "Generar archivo .htaccess"). - Si no puedes acceder al panel, crea un archivo
.htaccessnuevo con el contenido básico que PrestaShop genera automáticamente (puedes encontrarlo en la documentación oficial).
[WARNING] Si renombras
.htaccessy el error persiste, vuelve a ponerle su nombre original. No lo dejes modificado sin saber si es la causa.
Paso 3: Aumenta el límite de memoria PHP
Si el error aparece en momentos de alta carga o al ejecutar acciones complejas, es probable que necesites más memoria PHP.
Desde cPanel
- Ve a Seleccionar versión de PHP o MultiPHP Manager (depende de tu hosting).
- Busca la opción de Configuración de PHP o PHP Settings.
- Localiza el parámetro
memory_limity cámbialo a256Mo incluso512M. - Guarda los cambios y prueba.
Modificando el archivo .htaccess
Si no tienes acceso a esa configuración, puedes añadir esta línea al principio de tu .htaccess:
php_value memory_limit 256M
Creando un archivo php.ini
Otra opción es crear un archivo llamado php.ini en la raíz de tu tienda con este contenido:
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
[TIP] Si no sabes cuál es el límite actual, puedes crear un archivo llamado
info.phpcon el contenido<?php phpinfo(); ?>, subirlo a tu servidor y abrirlo en el navegador. Busca el valor dememory_limit. Después, borra ese archivo por seguridad.
Paso 4: Verifica la versión de PHP y cámbiala si es necesario
Las versiones antiguas de PrestaShop (1.6 y anteriores) no son compatibles con PHP 7.4 o superior. Si tu hosting ha actualizado PHP y tu tienda es antigua, tendrás problemas.
Desde cPanel
- Entra en Seleccionar versión de PHP.
- Prueba con una versión anterior, por ejemplo PHP 7.4 o PHP 7.3.
- Guarda y comprueba si el error desaparece.
[INFO] Si tu PrestaShop es la versión 1.7 o superior, intenta usar PHP 7.4 o PHP 8.0, pero siempre consulta la documentación oficial de tu versión para saber cuál es la recomendada.
Paso 5: Desactiva módulos o temas conflictivos
Si el error apareció después de instalar un módulo o cambiar de tema, ese es el culpable. Pero, ¿cómo desactivarlo si no puedes acceder al panel de administración?
Solución manual desde cPanel
- Accede al Administrador de Archivos.
- Navega hasta
/public_html/modules/. - Busca la carpeta del módulo sospechoso (por ejemplo, si se llama "supermodulo", busca
supermodulo). - Renombra la carpeta a algo como
supermodulo_bak. - Prueba tu tienda.
Si el error desaparece, ese módulo era el problema. Ahora puedes entrar al panel de administración y desinstalarlo correctamente.
Para temas
El proceso es similar, pero la carpeta está en /public_html/themes/. Renombra la carpeta del tema activo para que PrestaShop no pueda cargarlo y use el tema por defecto.
[WARNING] Si renombras el tema y el error persiste, vuelve a ponerle el nombre original. También ten en cuenta que, si renombras el tema activo, PrestaShop puede mostrar un error diferente, pero al menos sabrás que el tema no era el problema.
Paso 6: Revisa la base de datos
Una base de datos corrupta o con errores puede provocar el error 500. La forma más directa de comprobarlo es desde el panel de administración de tu hosting.
Desde cPanel (phpMyAdmin)
- Entra en phpMyAdmin desde cPanel.
- Selecciona la base de datos de tu tienda.
- En la pestaña Exportar, haz una copia de seguridad (esto es crucial antes de tocar nada).
- Ve a la pestaña Operaciones o SQL y ejecuta la siguiente consulta para reparar todas las tablas:
REPAIR TABLE `nombre_de_tu_tabla`;
O, para reparar todas las tablas de la base de datos a la vez, puedes usar esta consulta (generada automáticamente):
SELECT CONCAT('REPAIR TABLE `', table_name, '`;') FROM information_schema.tables WHERE table_schema = 'nombre_de_tu_base_de_datos';
Copia el resultado y ejecuta las sentencias.
[TIP] Si no te sientes cómodo con SQL, muchos hostings ofrecen una opción de "Reparar base de datos" en un solo clic desde cPanel o Syspanel. Busca esa opción.
Paso 7: Comprueba el archivo settings.inc.php
Este archivo está en /config/settings.inc.php (en PrestaShop 1.6) o en /app/config/parameters.php (en PrestaShop 1.7). Contiene los datos de conexión a la base de datos.
- Ábrelo con un editor de texto (desde el Administrador de Archivos).
- Verifica que el nombre de la base de datos, el usuario, la contraseña y el prefijo de las tablas sean correctos.
- Si algo no cuadra, corrígelo y guarda.
[WARNING] Si no estás seguro de qué datos deben ir, contacta con tu proveedor de hosting. Un error aquí puede dejar tu tienda completamente inaccesible.
Paso 8: Revisa los logs del servidor
Los logs son el "diario" del servidor. Te dirán exactamente qué está fallando.
Desde cPanel
- Entra en Métricas → Errores o Registros de errores.
- Busca los errores más recientes relacionados con tu dominio o con PrestaShop.
- El mensaje te dará pistas sobre el problema (por ejemplo, un archivo concreto que falla).
Desde Syspanel
En Syspanel, busca la sección de "Logs" o "Registros". El puerto de acceso es el 2106, recuerda.
Soluciones adicionales para el error 500 en PrestaShop
Si has probado todo lo anterior y el error persiste, prueba estas opciones avanzadas.
Desactiva el modo de depuración y activa el modo de mantenimiento
A veces, el error 500 esconde un error de PHP más específico que no se muestra. Puedes intentar verlo temporalmente.
- Accede al archivo
/config/defines.inc.php(PrestaShop 1.6) o/config/defines.inc.php(PrestaShop 1.7). - Busca la línea que dice
define('_PS_MODE_DEV_', false);y cámbiala adefine('_PS_MODE_DEV_', true);. - Guarda y recarga tu tienda. Ahora verás el error específico de PHP en pantalla.
[WARNING] No dejes el modo dev activado en producción. Es un riesgo de seguridad. Desactívalo en cuanto hayas identificado el problema.
Reinstala los archivos de PrestaShop
Si el problema es que algún archivo se ha corrompido, puedes descargar una copia limpia de PrestaShop de la versión que tienes instalada y reemplazar los archivos (sin tocar la carpeta config, img y modules).
- Descarga la versión exacta de PrestaShop desde la web oficial.
- Descomprime el archivo en tu ordenador.
- Sube el contenido a tu servidor (sobrescribiendo los archivos existentes, excepto
config/settings.inc.phpy la carpetaimg). - Prueba de nuevo.
Contacta con tu proveedor de hosting
A veces el problema no está en tu tienda, sino en el servidor. Si todo lo anterior falla, contacta con tu proveedor de hosting y explícales que tienes un error interno servidor PrestaShop (error 500). Ellos pueden revisar los logs del servidor a nivel más profundo.
Preguntas frecuentes sobre el error 500 en PrestaShop
¿Qué es el error 500 en PrestaShop?
Es un error genérico del servidor que impide que tu tienda se muestre correctamente. Significa que el servidor encontró un problema interno al procesar tu solicitud.
¿Cómo solucionar el error 500 en PrestaShop desde cPanel?
Los pasos más comunes son: verificar permisos de archivos, renombrar el .htaccess, aumentar el límite de memoria PHP, cambiar la versión de PHP y revisar los logs de errores.
¿Cuánto tiempo se tarda en solucionar?
Depende de la causa. Si es un problema de permisos o .htaccess, puedes resolverlo en 10-15 minutos. Si es un módulo conflictivo, puede llevar más tiempo.
¿Perderé mis productos si tengo este error?
No. El error 500 no borra tus datos. Tus productos, clientes y pedidos están en la base de datos y no se ven afectados.
¿Puedo evitar este error en el futuro?
Sí, siguiendo estas buenas prácticas:
- Mantén PrestaShop y sus módulos siempre actualizados.
- No instales módulos de fuentes no fiables.
- Haz copias de seguridad periódicas de archivos y base de datos.
- Configura el límite de memoria PHP con margen suficiente.
- Revisa los logs de errores con regularidad.
Conclusión
El error 500 en PrestaShop es un problema serio pero, como has visto, tiene muchas soluciones. La clave es ir paso a paso, de lo más simple a lo más complejo, y no desesperarse. Con paciencia y un poco de método, podrás solucionar error 500 PrestaShop y volver a tener tu tienda online funcionando.
Recuerda que, si en algún momento te sientes perdido, siempre puedes contar con el soporte técnico de tu hosting. Ellos tienen acceso a herramientas y logs que tú no ves, y pueden ayudarte a identificar el problema mucho más rápido.
[TIP] Anota
