Resolver error 500 en PrestaShop desde el panel de control
¡Vaya! Ver un error 500 en PrestaShop es como recibir un portazo en la cara: no te dice nada, pero sabes que algo ha pasado. Es la temida pantalla blanca o el mensaje genérico de "error interno del servidor".
Lo primero es mantener la calma. No es un problema de tu tienda como negocio, sino una configuración técnica que, en el 90% de los casos, tiene solución rápida desde tu panel de control. No necesitas ser un experto en programación para resolverlo; solo necesitas seguir los pasos correctos en el orden adecuado.
En esta guía extensa, vamos a desgranar, paso a paso y con un lenguaje muy claro, todas las estrategias para solucionar el error 500 en PrestaShop directamente desde el panel de control de tu hosting. Olvídate de llamar a un técnico de inmediato; muchas veces, la solución está a un clic de distancia.
¿Por qué aparece el error 500 en PrestaShop?
Antes de pulsar botones, es útil entender qué significa. Un error 500 es una respuesta genérica del servidor que indica que algo falló en la ejecución del código PHP de tu tienda, pero no especifica el motivo. Las causas más comunes suelen ser:
- Archivos
.htaccesscorruptos o con directivas incompatibles. - Límite de memoria PHP agotado (muy común al instalar módulos pesados).
- Permisos de archivos o carpetas incorrectos (normalmente después de una migración).
- Errores de sintaxis en archivos de configuración (como
config/settings.inc.php). - Actualizaciones fallidas de PrestaShop, módulos o temas.
- Conflictos entre módulos o un tema mal codificado.
Vamos a atacar cada una de estas causas desde el panel de control, que es la herramienta más potente que tienes para gestionar tu hosting sin necesidad de acceso SSH.
Preparación inicial: Accede a tu panel de control y a los registros
El primer paso es fundamental: activa la visualización de errores para que el servidor nos diga exactamente qué está fallando. Aunque el cliente vea un error 500 genérico, el servidor guarda un log de errores de PrestaShop que es nuestro mapa del tesoro.
Paso 1: Activar el modo debug de PrestaShop
PrestaShop tiene un modo de depuración que muestra el error exacto (como "Fatal error: Allowed memory size..."). Para activarlo, necesitas editar el archivo config/defines.inc.php.
- Entra a tu panel de control (cPanel, Plesk, o Syspanel si tu hosting lo usa; recuerda que Syspanel se accede por el puerto 2106).
- Busca la sección "Administrador de archivos" (File Manager).
- Navega a la raíz de tu tienda, normalmente en
public_htmlohttpdocs. - Entra en la carpeta
configy busca el archivodefines.inc.php. - Haz clic derecho sobre él y selecciona "Editar" o "Code Editor".
- Busca la línea que dice
define('_PS_MODE_DEV_', false);y cámbiala adefine('_PS_MODE_DEV_', true);. - Guarda los cambios.
Ahora, al recargar tu tienda, verás un mensaje de error específico en lugar del error 500. Anota ese mensaje, es oro puro. Cuando termines de arreglar el problema, vuelve a poner false para que los clientes no vean detalles técnicos.
Paso 2: Revisar el log de errores de PrestaShop
Si no quieres tocar código aún, busca en tu panel de control la herramienta "Registros de errores" o "Error Logs". Su ubicación varía:
- En cPanel: Sección "Métricas" > "Errores".
- En Plesk: Pestaña "Logs" dentro del dominio.
- En Syspanel (puerto 2106): Busca la sección "Logs" o "Registros" en el menú lateral.
Dentro, verás las últimas líneas de errores. Busca las que tengan la fecha y hora del incidente. Un error típico de memoria se verá así: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted.
Solución 1: Aumentar el límite de memoria PHP de PrestaShop
El error de memoria es el más habitual. Si el log menciona memory size o memory_limit, este es tu fix. PrestaShop es una aplicación muy hambrienta de recursos, especialmente en el back-office.
¿Cómo hacerlo desde el panel de control?
- Ve a la sección "Configuración de PHP", "Select PHP Version" o "Administrador de PHP" en tu panel.
- Si usas Syspanel, busca la opción "PHP" o "Configuración de PHP" dentro del dominio correspondiente (recuerda que entras por el puerto 2106).
- Busca la directiva
memory_limit. Verás un valor como128Mo256M. - Cámbialo a
512Mo incluso768M. Es un valor seguro para la mayoría de hostings. - Guarda los cambios y recarga tu tienda.
[TIP] Si no encuentras esa opción, puedes forzar el cambio desde el archivo config/settings.inc.php (en versiones antiguas) o creando un archivo php.ini en la raíz de tu PrestaShop con la línea: memory_limit = 512M.
Si el error persiste, prueba a aumentar también max_execution_time a 300 y max_input_vars a 5000 en la misma configuración de PHP. Esto previene otros errores 500 relacionados con formularios grandes o procesos lentos.
Solución 2: Regenerar el archivo .htaccess de PrestaShop
Un archivo .htaccess corrupto es otra de las causas principales. Este archivo controla las URLs amigables y redirecciones. Si se corrompe, el servidor devuelve el error 500.
Regeneración vía Back-Office (si puedes acceder)
- Ve a tu panel de administración de PrestaShop (
/admin). - Navega a Preferencias > SEO y URLs.
- Haz clic en el botón "Guardar" (sin cambiar nada). Esto fuerza la regeneración del
.htaccess.
Regeneración vía File Manager (si no puedes acceder al admin)
Si el error 500 te impide entrar al back-office, hazlo manualmente:
- Abre el Administrador de archivos.
- Busca el archivo
.htaccessen la raíz. Si existe, renómbralo a.htaccess_old(esto lo desactiva). - Recarga tu tienda. Si el error desaparece, el problema era ese archivo.
- Ahora, para generar uno nuevo limpio, entra a tu back-office (si ya puedes) y guarda la configuración de SEO y URLs como en el paso anterior. PrestaShop creará uno nuevo.
[WARNING] Si al renombrar el .htaccess sigues viendo el error 500, el problema no es ese archivo. Vuelve a ponerle su nombre original para no perder configuraciones de seguridad.
Solución 3: Corregir permisos de archivos y carpetas
Los permisos incorrectos (por ejemplo, archivos en modo 777 cuando deberían ser 644) pueden provocar errores críticos. Es común tras una migración o una restauración de copia de seguridad.
La regla de oro de permisos:
- Carpetas: Deben tener permiso
755. - Archivos: Deben tener permiso
644.
Cómo cambiarlos desde el panel:
- En el Administrador de archivos, selecciona la carpeta raíz de tu PrestaShop.
- Haz clic en "Seleccionar todo" (Ctrl+A).
- Haz clic derecho y elige "Cambiar permisos" o "Permisos de archivos".
- Marca las casillas para que queden en
755para carpetas y644para archivos. La mayoría de los administradores de archivos tienen una opción para "aplicar a subcarpetas" y "aplicar a archivos". - Aplica los cambios.
[INFO] Este proceso puede tardar unos minutos si tu tienda tiene muchos archivos. Ten paciencia y no cierres la pestaña.
Solución 4: Desactivar módulos o temas conflictivos
Si el error 500 apareció justo después de instalar o actualizar un módulo, ese es el culpable. PrestaShop guarda la lista de módulos activos en la base de datos, pero podemos desactivarlos manualmente.
Método rápido: Renombrar la carpeta del módulo
- Ve a
/modulesen tu Administrador de archivos. - Busca el módulo sospechoso (el que instalaste recientemente).
- Renombra la carpeta del módulo, por ejemplo, de
mimoduloamimodulo_off. - Recarga tu tienda. Si el error desaparece, has encontrado al culpable.
[WARNING] Este método es efectivo pero "bruto". Puede generar errores en la base de datos si el módulo tiene tablas asociadas. Es una solución temporal para recuperar el acceso.
Método elegante: Desactivar todos los módulos vía SQL (phpMyAdmin)
- Ve a phpMyAdmin desde tu panel de control.
- Selecciona la base de datos de tu PrestaShop.
- Haz clic en la pestaña "SQL".
- Ejecuta la siguiente consulta SQL para desactivar todos los módulos excepto los esenciales:
UPDATE ps_modules SET active = 1 WHERE name IN ('autoload', 'blockcart', 'blockcategories', 'blockcurrencies', 'blocklanguages', 'blockmanufacturer', 'blockmyaccount', 'blocknewsletter', 'blockpaymentlogo', 'blocksearch', 'blocksocial', 'blockstore', 'blocktopmenu', 'blockuserinfo', 'blockviewed', 'carriercompare', 'cashondelivery', 'cheque', 'contactform', 'dateofdelivery', 'dibs', 'editorial', 'favoriteproducts', 'feeder', 'fidelity', 'followup', 'ganalytics', 'germaniantranslation', 'gridhtml', 'homefeatured', 'homeslider', 'mailalerts', 'newsletter', 'pagesnotfound', 'productcomments', 'productscategory', 'productscomparison', 'producttooltip', 'ps_emailsubscription', 'sekeywords', 'sendtoafriend', 'shoppingflux', 'socialsharing', 'statistics', 'statsbestcategories', 'statsbestcustomers', 'statsbestmanufacturers', 'statsbestproducts', 'statsbestsuppliers', 'statsbestvouchers', 'statsbestsales', 'statscarrier', 'statscatalog', 'statscheckup', 'statsdata', 'statsequipment', 'statsforecast', 'statsgeolocation', 'statslive', 'statsnewsletter', 'statsorigin', 'statspersonalinfos', 'statsproduct', 'statsregistrations', 'statssales', 'statssearch', 'statsstock', 'statsvisits', 'themeinstallator', 'watermark');
[TIP] Si tu prefijo de tabla no es ps_, cámbialo en la consulta. Puedes verlo en config/settings.inc.php bajo la variable _DB_PREFIX_.
Solución 5: Verificar la integridad de los archivos de PrestaShop
A veces, una actualización fallida deja archivos a medio escribir. La solución es subir de nuevo los archivos originales de la versión de PrestaShop que estás usando.
- Descarga el paquete de instalación de tu versión exacta de PrestaShop desde el sitio oficial.
- Descomprímelo en tu ordenador.
- Sube solo la carpeta
admin,classes,controllers,srcyvendor(sobrescribiendo los existentes) a través del Administrador de archivos. No subas la carpetaconfignimodulespara no perder tus ajustes.
[WARNING] Este proceso es más delicado. Asegúrate de tener una copia de seguridad completa antes de hacerlo. Si no te sientes seguro, contacta con tu soporte de hosting.
Solución 6: Revisar la versión de PHP en el panel de control
PrestaShop 1.6 no es compatible con PHP 8.0, y PrestaShop 1.7 tiene requisitos específicos. Un cambio de versión de PHP por parte del hosting es una causa muy común de errores 500.
- Ve a la sección "Configuración de PHP" o "Select PHP Version".
- Comprueba qué versión está activa.
- Si es muy reciente (PHP 8.1, 8.2) y tu PrestaShop es antiguo (1.6 o 1.7 temprano), cambia a una versión más estable como PHP 7.4.
- Guarda y recarga.
Conclusión: Tu plan de ataque final
Para solucionar el error 500 en PrestaShop, te recomiendo este orden de actuación:
- Activa el modo debug para ver el error exacto.
- Aumenta la memoria PHP (Solución 1). Es la más común y fácil.
- Revisa el log de errores de PrestaShop para confirmar el diagnóstico.
- Regenera el
.htaccess(Solución 2). - Corrige los permisos (Solución 3).
- Desactiva módulos (Solución 4).
- Si nada funciona, revisa la versión de PHP (Solución 6) y considera la integridad de archivos (Solución 5).
Recuerda que tu panel de control es tu mejor aliado. Ya sea cPanel, Plesk o Syspanel (accesible por el puerto 2106), todas estas herramientas están a tu disposición.
[INFO] Si tras probar todo esto el error persiste, es probable que el problema esté en el servidor (una mala configuración de Apache o Nginx). En ese caso, contacta con el soporte de tu hosting y diles el mensaje exacto del log de errores. Ellos podrán ver la configuración del servidor que tú no puedes tocar.
Espero que esta guía te haya sido de ayuda. Con paciencia y estos pasos, tu tienda volverá a estar operativa en poco tiempo. ¡Mucha suerte!
