Problemas de Magento: pantalla en blanco y errores 500
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:
- Comprueba los registros de errores
- Activa el modo de desarrollo (de forma temporal)
- Revisa los cambios recientes: ¿qué ha cambiado?
- 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:
- Cambia el nombre de
.htaccessa.htaccess_backup - Descarga un
.htaccessnuevo del GitHub de Magento - 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:
- Comprueba las credenciales en
app/etc/env.php - Prueba la conexión en phpMyAdmin
- 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
-
Comprueba la URL de administración
bin/magento info:adminuri -
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 -
Vacía la caché
bin/magento cache:clean
No puedo iniciar sesión
-
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=AchternaamInicia sesión con la cuenta nueva y restablece la contraseña de la cuenta antigua en System > Permissions > All Users.
-
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:
- Ve a phpMyAdmin
- Busca la tabla
setup_module - Elimina la entrada del módulo problemático
- 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
- Selecciona todas las tablas
- Elige "Repair table" en el menú desplegable
- 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
A 0 de 0 personas les ha resultado útil