Errores comunes en Magento 2 y cómo corregirlos
A continuación recogemos unos cuantos errores que suelen darse en Magento 2, por qué se generan y cuáles son sus soluciones:
- Error al desplegar una extensión. Al desplegar una extensión por Composer, puede que nos devuelva este error:
ReflectionException: Class Magento\Checkout\Model\Session\Interceptor does not exist in /var/www/…/ClassReader.php
En ese caso, habrá que ejecutar:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:Deploy -f
En algunos casos recomiendan también:chmod -R 777 var/ generated/ pub/
(aunque si haces esto, más vale que tengas unas medidas de seguridad altas que no permitan a un tercero acceder en modo escritura a estos directorios)
- Para instalar el paquete de traducción es_ES (español), o bien lo hacemos vía Composer:
composer require magento2translations/language_es_es:dev-master
Que requerirá posteriormente la ejecución de los comandos del punto 1.
También podemos descargarlo de https://github.com/Magento2Translations/language_es_es e instalarlo manualmente - Elasticsearch puede darnos más de un disgusto, pero el truco más sencillo para que funcione es darle una swap con espacio suficiente. En nuestro artículo Ampliar Memoria Swap en Servidores Linux tienes más información sobre cómo hacerlo. Nosotros le ponemos un mínimo de 6G. Para saber si tiene espacio o no, podemos ejecutar una actualización de los artículos o una reindexación de los mismos, y después haremos:
curl -X GET "localhost:9200/_cluster/health?pretty"
y si nos devuelve
curl: (7) Failed to connect to localhost port 9200: Connection refused
sabremos que seguramente se ha llenado la swap y ha colapsado (haciendo un htop saldremos de dudas), o que /var/lib/elasticsearch no tiene suficientes permisos, lo que podremos arreglarlo con
chmod u+w /var/lib/elasticsearch
Iremos ampliando el artículo próximamente.
0 comments