Erreur fatale d'installation de Magento 2 - Impossible d'instancier l'interface

18

J'ai installé un nouveau Magento 2.1 sur la ligne de commande et j'obtiens toujours la même erreur fatale lorsque j'essaie d'accéder au frontend ou au backend.

Erreur fatale: erreur non détectée: impossible d'instancier l'interface Magento \ Framework \ App \ Config \ Scope \ ReaderPoolInterface

Quelqu'un a vécu la même chose? J'ai trouvé quelques ressources mais sans réelle aide.

Mettre à jour J'ai supprimé var / di et var / generation et je l'ai mis en mode développeur

Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\App\Config\Scope\ReaderPoolInterface in /shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:73 Stack trace: #0 
/shop/build/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...') #1 
/shop/build/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(126): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...') #2 
/shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(53): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'readerPool', 'Magento\\Framewo...') #3 
/shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Develo in /shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php on line 73
Klettseb
la source
Avez-vous essayé de supprimer var / generation var / cache et de passer en mode développeur?
Raphael at Digital Pianism
@RaphaelatDigitalPianism fait les deux pas de chance
Klettseb
Avez-vous installé des modules tiers avant d'exécuter l'installation de Magento?
Aurélien FOUCRET

Réponses:

14

Si vous utilisez la configuration nginx de l'exemple officiel et exécutez Magento en mode par défaut / développeur, cette situation peut se produire avec la valeur globale de la racine du document définie comme

root $MAGE_ROOT/pub;

Le problème peut être résolu en définissant la racine Magento du répertoire pub sur la racine index.php

root $MAGE_ROOT;

Dans le cas d'Apache, le DocumentRootchangement de valeur peut également corriger la situation. J'espère que cela vous aidera.

Yaroslav Rogoza
la source
Définir la racine Web en dehors du pub n'est, dans l'ensemble, pas une très bonne idée.
siliconrockstar
13

Assurez-vous que le module PHP intl est installé, effacez var/generation(ou generation/*si vous utilisez Magento 2.2+) et var/cache, activez les modules Magento ( bin/magento module:enable --all), compilez DI ( bin/magento setup:di:compile), puis réessayez.

Erfan
la source
Repérez. La désactivation de tous les modules avant l'exécution setup:installou setup:upgradeest le problème
Stevie G
5

Après avoir téléchargé tous les fichiers / créé le projet via Composer, vous devez configurer le magasin. Vous pouvez le faire à partir de la ligne de commande:

php bin/magento setup:store-config:set --help

Ou allez sur: http://mystore.com/setup

Iazel
la source
1

Les étapes que j'ai faites étaient les suivantes pour se débarrasser de ce problème.

J'ai d'abord réinstallé Magento complètement nouveau, puis j'ai fait ceci:

  • var / generation et var / cache supprimés

  • passé en mode développeur pour recompiler

Et soudain, ça a bien fonctionné

Klettseb
la source
1
mode de recompilation? où est-ce
Philipp Sander
Si vous passez en mode développement, il se recompile
Klettseb
1

J'ai également ce genre de problème lorsque j'essaie d'exécuter Magento cli comme magento listdans le terminal. Après plusieurs heures, j'ai essayé les solutions mais toutes les réponses ne fonctionnent pas pour moi. il s'avère que le di.xmlfichier est perdu.

Pas :

  • Copiez tous les fichiers manquants d'ici:

https://github.com/magento/magento2/tree/2.1/app/etc .

  • Après cela , exécutez le supprimer le cache: rm -rf var/*.
  • Maintenant, si vous exécutez, magento listcela fonctionnera à nouveau.
Gujarat Santana
la source
0

Eu le même problème causé par la modification du code sans nettoyer le cache en premier. J'ai nettoyé manuellement le cache, il a résolu le problème.

sudo rm -rf var / cache
sudo rm -rf var / di
sudo rm -rf var / génération
Dallas Clarke
la source