Błąd krytyczny instalacji Magento 2 - Nie można utworzyć interfejsu


18

Zainstalowałem świeżego Magento 2.1 za pomocą wiersza poleceń i zawsze otrzymuję ten sam błąd krytyczny podczas próby uzyskania dostępu do frontendu lub backendu.

Błąd krytyczny: Nieprzechwycony błąd: Nie można utworzyć instancji interfejsu Magento \ Framework \ App \ Config \ Scope \ ReaderPoolInterface

Czy ktoś doświadczył tego samego? Znalazłem trochę zasobów, ale bez prawdziwej pomocy.

Aktualizacja Usunąłem var / di i var / generation i ustawiłem na tryb programisty

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

Czy próbowałeś usunąć var ​​/ generation var / cache i przejść do trybu programisty?
Raphael at Digital Pianism

@RaphaelatDigitalPianizm zrobił oba bez powodzenia
Klettseb

Czy zainstalowałeś jakieś moduły stron trzecich przed uruchomieniem instalacji Magento?
Aurélien FOUCRET

Odpowiedzi:


14

Jeśli użyjesz konfiguracji nginx z oficjalnej próbki i uruchomisz Magento w trybie domyślnym / deweloperskim, ta sytuacja może się zdarzyć z globalną wartością katalogu głównego dokumentu ustawioną jako

root $MAGE_ROOT/pub;

Problem można rozwiązać, ustawiając katalog główny Magento z katalogu pub do katalogu głównego index.php

root $MAGE_ROOT;

W przypadku Apache DocumentRootzmiana wartości może również naprawić sytuację. Mam nadzieję, że to pomoże.


Ustawienie katalogu głównego poza pubem nie jest ogólnie dobrym pomysłem.
siliconrockstar

13

Upewnij się, że moduł PHP intl jest zainstalowany, wyczyść var/generation(lub generation/*jeśli używasz Magento 2.2+) i var/cachewłącz moduły Magento ( bin/magento module:enable --all), skompiluj DI ( bin/magento setup:di:compile), a następnie spróbuj ponownie.


Spot on. Wyłączenie jakichkolwiek modułów przed uruchomieniem setup:installlub setup:upgradestanowi problem
Stevie G.

5

Po pobraniu wszystkich plików / utworzeniu projektu przez kompozytora musisz skonfigurować sklep. Możesz to zrobić z wiersza poleceń:

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

Lub wchodząc na: http://mystore.com/setup


1

Aby pozbyć się tego problemu, wykonałem następujące kroki.

Najpierw ponownie zainstalowałem Magento całkowicie nowy, a potem to zrobiłem:

  • usunięto var / generation i var / cache

  • przełączono na tryb programisty w celu ponownej kompilacji

I nagle zadziałało dobrze


1
tryb ponownej kompilacji? gdzie to jest
Philipp Sander,

Jeśli przełączysz się w tryb programowania,
kompiluje się

1

Mam również ten problem przy próbie uruchomienia Magento cli jak magento listw terminalu. Po kilku godzinach wypróbowałem rozwiązania, ale wszystkie odpowiedzi nie działają dla mnie. okazuje się, że di.xmlplik został utracony.

Kroki :

  • Skopiuj wszystkie brakujące pliki stąd:

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

  • Następnie należy uruchomić Zdejmij cache: rm -rf var/*.
  • Teraz, jeśli uruchomisz, magento listto będzie działać ponownie.

0

Miał ten sam problem spowodowany zmianą kodu bez uprzedniego wyczyszczenia pamięci podręcznej. Ręcznie wyczyściłem pamięć podręczną, to rozwiązało problem.

sudo rm -rf var / cache
sudo rm -rf var / di
sudo rm -rf var / generation
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.