Los problemas de Magento, como la pantalla en blanco y los errores 500, pueden resultar frustrantes. En esta guía te ayudamos a resolver los problemas más frecuentes.

Primeros pasos ante un problema

Antes de empezar a buscar la causa:

  1. Comprueba los registros de errores
  2. Activa el modo de desarrollo (de forma temporal)
  3. Revisa los cambios recientes: ¿qué ha cambiado?
  4. Haz una copia de seguridad antes de modificar nada

Activar el modo de desarrollo

Para ver mensajes de error detallados:

bin/magento deploy:mode:set developer

Atención: desactívalo después de resolver el problema para mejorar el rendimiento.

Solucionar la pantalla en blanco

Una pantalla en blanco (White Screen of Death) indica un error fatal de PHP.

Paso 1: comprueba los registros de errores

# Registro de errores de Magento
tail -100 var/log/exception.log
tail -100 var/log/system.log

# Registro de errores de PHP
tail -100 /pad/naar/logs/error.log

# Registro de errores de Apache
tail -100 /var/log/apache2/error.log

Paso 2: muestra los errores de PHP

Añade temporalmente estas líneas a index.php.

ini_set('display_errors', 1);
error_reporting(E_ALL);

Paso 3: causas frecuentes

Límite de memoria

# Comprobar el límite actual
php -i | grep memory_limit

# Aumentarlo con .htaccess
php_value memory_limit 2G

Caché corrupta

rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf generated/*

Permisos

find var generated pub/static pub/media -type d -exec chmod 755 {} \;
find var generated pub/static pub/media -type f -exec chmod 644 {} \;
chmod u+x bin/magento

500 Internal Server Error

Paso 1: comprueba .htaccess

Un archivo .htaccess corrupto es una causa frecuente:

  1. Cambia el nombre de .htaccess a .htaccess_backup
  2. Descarga un .htaccess nuevo del GitHub de Magento
  3. Prueba el sitio web

Paso 2: versión de PHP

Comprueba que la versión de PHP sea compatible:

  • Magento 2.4.6+: PHP 8.1 u 8.2
  • Magento 2.4.4-5: PHP 8.1

Paso 3: conexión con la base de datos

Prueba la conexión con la base de datos:

  1. Comprueba las credenciales en app/etc/env.php
  2. Prueba la conexión en phpMyAdmin
  3. Comprueba que el servidor de bases de datos esté en marcha

Paso 4: compilación de DI

rm -rf generated/*
bin/magento setup:di:compile

Problemas de caché

Vaciar toda la caché

bin/magento cache:clean
bin/magento cache:flush

Caché específica

# Solo la caché de configuración
bin/magento cache:clean config

# Solo la caché de página completa
bin/magento cache:clean full_page

Eliminar la caché manualmente

rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf var/view_preprocessed/*
rm -rf pub/static/frontend/*
rm -rf pub/static/adminhtml/*
rm -rf generated/*

Problemas de índices

Comprobar el estado de los índices

bin/magento indexer:status

Reconstruir todos los índices

bin/magento indexer:reindex

Índice específico

bin/magento indexer:reindex catalog_product_price
bin/magento indexer:reindex catalogsearch_fulltext

Problemas del panel de administración

El panel de administración no carga

  1. Comprueba la URL de administración

    bin/magento info:adminuri
    
  2. Restablece la URL de administración

    bin/magento config:set admin/url/use_custom 0
    bin/magento config:set admin/url/use_custom_path 0
    
  3. Vacía la caché

    bin/magento cache:clean
    

No puedo iniciar sesión

  1. Desbloquea la cuenta y, si hace falta, crea una cuenta de administrador nueva. Magento no tiene ningún comando de CLI para cambiar la contraseña de una cuenta existente:

    bin/magento admin:user:unlock adminusername
    bin/magento admin:user:create --admin-user=nieuweadmin --admin-password='KiesEenSterkWachtwoord1' --admin-email=jij@example.nl --admin-firstname=Voornaam --admin-lastname=Achternaam
    

    Inicia sesión con la cuenta nueva y restablece la contraseña de la cuenta antigua en System > Permissions > All Users.

  2. Comprueba el estado de la cuenta en la base de datos (tabla admin_user)

Problemas con extensiones

Encontrar la extensión problemática

# Desactivar todas las extensiones
bin/magento module:disable --all

# Volver a activar los módulos principales
bin/magento module:enable Magento_Backend Magento_Store ...

# Probar el sitio web

# Activar las extensiones una a una
bin/magento module:enable Vendor_Module

Eliminación de emergencia de una extensión

Mediante la base de datos si la CLI no funciona:

  1. Ve a phpMyAdmin
  2. Busca la tabla setup_module
  3. Elimina la entrada del módulo problemático
  4. Vacía var/cache manualmente

Problemas de base de datos

Mensaje "Please upgrade your database"

Este mensaje aparece cuando el código es más reciente que la base de datos, por ejemplo, después de instalar o actualizar una extensión sin setup:upgrade. Se resuelve así:

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f nl_NL
bin/magento cache:flush

Reparar la base de datos

# Con la CLI de Magento
bin/magento setup:db:status
bin/magento setup:db-schema:upgrade
bin/magento setup:db-data:upgrade

Reparar tablas con phpMyAdmin

  1. Selecciona todas las tablas
  2. Elige "Repair table" en el menú desplegable
  3. Ejecuta la acción

Modo de mantenimiento

Pon tu tienda en modo de mantenimiento mientras resuelves un problema o instalas actualizaciones, para que los visitantes no vean mensajes de error ni una tienda que funciona a medias:

# Activar
bin/magento maintenance:enable

# Ver el estado
bin/magento maintenance:status

# Desactivar
bin/magento maintenance:disable

Con bin/magento maintenance:enable --ip=<jouw IP-adres> mantienes tu acceso a la tienda durante el mantenimiento.

Consejos de depuración

Activar el profiler

bin/magento dev:profiler:enable

Después, consulta la salida del profiler en la parte inferior de la página.

Registro de consultas

Configúralo así en app/etc/env.php.

'db' => [
    'connection' => [
        'default' => [
            'profiler' => [
                'class' => '\\Magento\\Framework\\DB\\Profiler',
                'enabled' => true
            ]
        ]
    ]
]

Consola del navegador

¿No hay ningún error de PHP, pero una parte de la página no funciona (los botones no responden, el proceso de pago no carga)? Abre la consola de tu navegador (F12) y comprueba si aparecen errores de JavaScript.

XDebug

Configura XDebug para depurar paso a paso en tu IDE.

Cuándo contactar con soporte

Ponte en contacto con soporte (por chat, ticket o correo, en español; por teléfono, en neerlandés e inglés) si:

  • No encuentras la causa
  • Parece un problema a nivel de servidor
  • Necesitas cambios que requieren permisos de administrador
  • El problema vuelve a aparecer