Cómo arreglar el error 500 en PrestaShop: Soluciones paso a paso
¿Te ha aparecido un error 500 PrestaShop de repente y no sabes por dónde empezar? No te preocupes, es uno de los problemas más comunes en tiendas online y, aunque parezca grave, en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo/a sin necesidad de ser un experto en programación.
En esta guía completa, paso a paso y en un lenguaje claro, vamos a desglosar todas las posibles causas y, lo más importante, cómo solucionar el error 500 en tu tienda. Desde los archivos de permisos hasta la memoria PHP, pasando por el famoso .htaccess o los módulos conflictivos. Al final, tendrás un plan de acción claro para diagnosticar y arreglar el temido PrestaShop error interno.
Vamos a ello. Respira hondo, coge un café y sigue estos pasos en orden. No necesitas ser un gurú técnico, solo paciencia y un poco de método.
¿Qué significa exactamente el error 500 en PrestaShop?
Antes de lanzarnos a arreglar nada, es importante entender qué está pasando. El error 500, también conocido como PrestaShop error interno del servidor, es un mensaje genérico que significa que algo ha fallado en el servidor, pero no te dice exactamente el qué. Es como si el coche no arrancara, pero el cuadro de mandos no te diera ninguna luz de aviso concreta.
Este error puede aparecer en toda la tienda, en una página concreta (como el carrito o el checkout) o incluso solo en el panel de administración. Las causas más habituales suelen ser:
- Archivos con permisos incorrectos (muy común tras mover la tienda de servidor).
- Un archivo
.htaccesscorrupto o con reglas obsoletas. - Falta de memoria PHP (límite de memoria agotado).
- Un módulo o tema que ha dejado de ser compatible con tu versión de PrestaShop.
- Un error en la base de datos o en la configuración de los archivos de conexión.
Vamos a atacar cada una de estas causas por orden de probabilidad y facilidad para que puedas solucionar el error 500 de forma efectiva.
Paso 1: Activa el modo de depuración (Debug Mode) para ver el error real
El primer paso para cualquier diagnóstico es hacer que PrestaShop nos muestre el error específico en lugar de la pantalla genérica. Para ello, activaremos el modo de depuración. Esto es fundamental porque nos dará la pista exacta de qué está fallando.
### ¿Cómo activar el modo debug?
- Accede a tu panel de control de hosting o a tu gestor de archivos (si usas cPanel, Plesk o Syspanel, el panel que usamos en HestiaCP y que se accede por el puerto 2106, busca el administrador de archivos).
- Localiza la carpeta raíz de tu tienda PrestaShop (normalmente se llama
public_htmlowww). - Busca el archivo llamado
config/defines.inc.php. - Ábrelo con el editor de texto que te proporcione tu hosting (nunca con un procesador de textos como Word).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cambia
falseportrue. Debe quedar así:define('_PS_MODE_DEV_', true); - Guarda los cambios y sube el archivo si lo has editado localmente.
[INFO] Este cambio hará que PrestaShop muestre el error real en pantalla, como "Fatal error: Allowed memory size of X bytes exhausted" o un error de una clase específica. Anota ese mensaje, porque te dirá exactamente qué hacer.
Una vez activado, recarga la página que daba el error. Si ves un mensaje de error concreto, genial. Si no ves nada o la página sigue en blanco, tendremos que seguir con los siguientes pasos. Al final del artículo, recuerda volver a poner false para no mostrar información sensible a tus clientes.
Paso 2: Revisa los permisos de archivos y carpetas
Esta es una de las causas más frecuentes del error 500 PrestaShop, sobre todo después de migrar la tienda a un nuevo servidor o de restaurar una copia de seguridad. Los permisos incorrectos impiden que el servidor lea o escriba los archivos necesarios.
### ¿Qué permisos son los correctos?
- Carpetas (directorios): Deben tener permiso
755. - Archivos: Deben tener permiso
644.
### ¿Cómo cambiarlos?
- Entra en el administrador de archivos de tu hosting (o a través de FTP con FileZilla).
- Selecciona toda la carpeta raíz de tu tienda.
- Haz clic derecho y busca la opción "Permisos de archivo" o "File Permissions" (en Syspanel se encuentra dentro del administrador de archivos).
- Introduce el valor
755para carpetas y644para archivos. Si tu cliente FTP te lo permite, puedes marcar la casilla "Recursivo" para que se aplique a todas las subcarpetas y archivos.
[WARNING] No utilices permisos
777(escribible por todos) a menos que sea estrictamente necesario y solo de forma temporal. Es un grave riesgo de seguridad.
Después de cambiar los permisos, recarga la página. Es muy probable que con esto se haya solucionado el problema.
Paso 3: Regenera el archivo .htaccess
El archivo .htaccess es un archivo de configuración que controla las URL amigables, redirecciones y otras reglas del servidor. Si está dañado o tiene reglas incompatibles con tu versión de PHP o Apache, puede provocar un PrestaShop error interno.
### ¿Cómo regenerarlo?
Puedes hacerlo de dos maneras: desde el panel de administración o manualmente.
Desde el panel de administración (recomendado):
- Accede a tu back-office de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- En la sección "URLs amigables", haz clic en el botón "Guardar" (aunque no cambies nada). Esto forzará la regeneración del
.htaccess.
Manual (si no puedes acceder al panel):
- Conéctate por FTP o al administrador de archivos.
- Renombra el archivo
.htaccessde la raíz a algo como.htaccess_old(esto lo desactiva). - Intenta acceder a tu tienda. Si ahora funciona (aunque con URLs feas), el problema era el archivo.
- Para regenerarlo, vuelve a intentar acceder al back-office y guarda las URLs amigables como en el paso anterior.
[TIP] Si el problema persiste, borra el archivo
.htaccess_oldy crea uno nuevo vacío desde tu editor de texto y súbelo. Luego, ve al panel de administración y pulsa "Guardar" en el apartado de URLs amigables para que PrestaShop lo rellene.
Paso 4: Aumenta el límite de memoria PHP
Otro de los culpables habituales del error 500 PrestaShop es que el script se queda sin memoria. PrestaShop es una plataforma bastante "glotona" en recursos, y si tu servidor tiene un límite bajo, es fácil que falle, sobre todo en páginas de administración o al ejecutar módulos complejos.
### ¿Cómo aumentar el límite de memoria?
Necesitas subir el límite a al menos 256M (o incluso 512M si tienes una tienda grande).
Opción A: Desde el archivo settings.inc.php
- Ve a la carpeta
config/de tu PrestaShop. - Abre el archivo
settings.inc.php(oparameters.phpen versiones modernas). - Busca la línea que contiene
define('_PS_MEMORY_LIMIT_', '128M');y cámbiala pordefine('_PS_MEMORY_LIMIT_', '256M');. - Guarda y sube el archivo.
Opción B: Desde php.ini
Si tienes acceso a la configuración de PHP en tu hosting, busca la directiva memory_limit y cámbiala a 256M. En Syspanel, puedes encontrar el selector de versión de PHP y la configuración en la sección "PHP" o "Administrador de archivos > Configuración".
Opción C: Crear un archivo php.ini en la raíz
Si no tienes acceso a la configuración global, crea un archivo llamado php.ini en la carpeta raíz de tu tienda y añade la siguiente línea:
memory_limit = 256M
[INFO] A veces el límite lo impone el propio servidor y no puedes sobrepasarlo. Si este es tu caso, contacta con tu proveedor de hosting para que lo aumenten.
Paso 5: Desactiva módulos o temas conflictivos
Un módulo recién instalado o actualizado es una causa muy común de un error 500 PrestaShop. A veces, un módulo no es compatible con la versión de PrestaShop o con otro módulo, y provoca un fallo fatal.
### ¿Cómo identificar al culpable?
Si el error aparece solo en una página específica (por ejemplo, en el carrito), es muy probable que el módulo que gestiona esa funcionalidad sea el problema.
Si puedes acceder al back-office:
- Ve a Módulos > Módulos y Servicios.
- En la lista, busca los módulos que estén activos y que tengan relación con la página que falla.
- Haz clic en "Desactivar" en los módulos que sospeches. Empieza por los de terceros (no los nativos de PrestaShop).
- Recarga la página de la tienda para ver si el error desaparece.
Si NO puedes acceder al back-office:
Necesitarás hacerlo manualmente desde la base de datos. Esto es un poco más técnico, pero se puede hacer con phpMyAdmin (o la herramienta de gestión de bases de datos de tu hosting).
- Accede a phpMyAdmin.
- Selecciona la base de datos de tu tienda.
- Busca la tabla
ps_module(el prefijo puede ser diferente, comotb_moduleoshop_module). - Busca el módulo que crees que es el problema. Si no lo sabes, puedes desactivar todos los módulos de terceros cambiando el valor de
activede1a0en los que tengannameque no sean los estándar (comops_,block_, etc., dependiendo de la versión). - Guarda los cambios.
[WARNING] Ten mucho cuidado al manipular la base de datos. Haz siempre una copia de seguridad antes de modificar nada.
Paso 6: Revisa la versión de PHP
PrestaShop es muy sensible a la versión de PHP que utiliza el servidor. Si has actualizado la versión de PHP de tu hosting recientemente, o si tu versión de PrestaShop es antigua y el servidor usa una versión de PHP demasiado nueva, es muy probable que aparezca el error 500 PrestaShop.
### ¿Qué versión de PHP necesito?
- PrestaShop 1.6: Compatible con PHP 5.6 hasta PHP 7.1 (idealmente 7.0).
- PrestaShop 1.7: Compatible con PHP 7.1 hasta PHP 7.4 (idealmente 7.3).
- PrestaShop 8: Compatible con PHP 7.2 hasta PHP 8.1 (idealmente 8.0).
### ¿Cómo cambiar la versión de PHP?
- Entra en el panel de control de tu hosting.
- Busca la sección "Gestor de versiones PHP" o "PHP Settings". En Syspanel, esta opción está dentro del dominio o del sitio web, en "Configuración PHP".
- Selecciona una versión que sea compatible con tu PrestaShop.
- Guarda los cambios y recarga la página.
[TIP] Si no sabes qué versión de PrestaShop tienes, mira el archivo
config/settings.inc.php(en la línea_PS_VERSION_) o el archivoinstall/que puedas tener en la raíz.
Paso 7: Comprueba los logs del servidor
Si has llegado hasta aquí y todavía no has encontrado la solución, es el momento de mirar los registros del servidor. Ahí se esconden los errores más técnicos y detallados.
### ¿Dónde encontrar los logs?
- cPanel: Sección "Métricas > Errores" o "Registros de errores".
- Plesk: "Sitios web y dominios > Registros".
- Syspanel: Dentro de la sección del dominio, busca "Logs" o "Registros de acceso y errores". (Recuerda que el panel de Syspanel se accede por el puerto 2106).
- Vía FTP: A menudo hay una carpeta llamada
logs/ovar/logs/en la raíz del servidor.
Busca errores que ocurran en la fecha y hora en que se produjo el fallo. Los mensajes suelen ser más descriptivos, como PHP Fatal error: Uncaught Error: Call to undefined function... o PHP Warning: session_start(): .... Con esa información, podrás buscar una solución muy concreta o proporcionársela a tu soporte técnico.
Preguntas Frecuentes (FAQ)
Aquí tienes las dudas más comunes que nos suelen llegar sobre este tema:
### ¿Por qué me da error 500 solo en el panel de administración y no en la tienda?
Esto suele deberse a un problema con un módulo específico del back-office, a la falta de memoria (el panel consume más recursos) o a un error en la configuración de la sesión. Prueba a aumentar la memoria PHP y a desactivar los módulos de terceros.
### ¿El error 500 puede deberse a un problema de mi proveedor de hosting?
Sí, aunque es menos común. Puede ser que el servidor esté sobrecargado o que haya un problema de configuración del servidor web (Apache/Nginx). Si todos los pasos anteriores fallan, contacta con tu proveedor y pásale los logs del servidor. Si usas Syspanel, puedes abrir un ticket de soporte desde el propio panel.
### ¿Qué hago si no puedo acceder ni al back-office ni al FTP?
Si no tienes acceso a nada, la situación es más delicada. Contacta directamente con tu proveedor de hosting. Ellos pueden acceder al servidor y desactivar módulos o corregir permisos por ti. Es importante que les expliques el problema y les digas que has intentado los pasos de esta guía.
### ¿Perderé mis datos si intento arreglar el error 500?
No, la gran mayoría de las soluciones (permisos, .htaccess, memoria, versión PHP) no afectan a tus productos, pedidos o clientes. Lo único que debes hacer es una copia de seguridad de tu base de datos y archivos antes de tocar nada, por precaución.
Resumen final: tu checklist anti-error 500
Para que no te pierdas, aquí tienes un resumen de los pasos a seguir en orden. Te recomiendo que los hagas uno a uno y compruebes después de cada uno si el error ha desaparecido.
- Activar modo debug para ver el error real.
- Revisar los permisos de archivos (755 carpetas / 644 archivos).
- Regenerar el
.htaccessdesde el back-office o manualmente. - Aumentar la memoria PHP a 256M o más.
- Desactivar módulos sospechosos (desde el panel o la BD).
- Cambiar la versión de PHP a una compatible.
- Revisar los logs del servidor para pistas avanzadas.
Con este plan de acción, tendrás una altísima probabilidad de solucionar el error 500 y devolver tu tienda a la normalidad. Recuerda que la paciencia y el método son tus mejores aliados. No te saltes pasos y, si te atascas, siempre puedes pedir ayuda a tu hosting o a un desarrollador especializado en PrestaShop.
Espero que esta guía te haya sido de gran ayuda. ¡Mucha suerte con tu tienda y a vender mucho!
