Mój sklep Magento zgłasza ten błąd:
Błąd krytyczny: Nie można utworzyć instancji interfejsu Magento \ Framework \ View \ Design \ Theme \ ResolverInterface w /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php w linii 73
Nie wiem, dlaczego to się zaczęło. Nie wykonałem instalacji nowego modułu. Sklep działał dobrze.
Sprawdzam uprawnienia do plików i nie widzę żadnego problemu. Usuń także / var / dir i, jak sądzę, wszystkie foldery / pliki, w których zostały utworzone.
[EDYCJA] Preferencje są zdefiniowane dostawca / magento / magento2-base / app / etc / di.xml
<preference for="Magento\Framework\View\Design\Theme\ResolverInterface" type="Magento\Theme\Model\Theme\Resolver" />
var/generation
.Odpowiedzi:
Jeśli używasz redis, uruchom:
Jeśli używasz również środowiska takiego jak ansible (
lxc - server
), musisz wykonać to polecenie w kontenerze. Dodatkowo wykonałem następujące czynności:var/generation
var/cache
bin/magento module:enable --all
bin/magento setup:di:compile
źródło
Miałem ten błąd i został rozwiązany przez wyczyszczenie folderu var, a następnie uruchomienie
setup:upgrade
. Jeśli to nie rozwiąże problemu, poszukaj błędów wdi.xml
plikachźródło
var/cache
redis-cli flushall
działało dla mnie.Uruchom następujące polecenie i sprawdź.
Pracował dla mnie.
źródło
To działało dla mnie:
źródło
W moim przypadku musiałem usunąć moduł i po prostu usunąłem pliki modułu bez przestrzegania odpowiednich metod, a następnie ten błąd pojawił się wszędzie na ekranie. Po wielu poszukiwaniach skończyłem, aby zastąpić pliki modułu z powrotem do tego samego katalogu i usunąłem wszystkie wymagane foldery z var i uruchomiłem następujące polecenia.
i wszystko zostało naprawione. Następnie podążyłem za prawidłowymi sposobami usunięcia modułu. Mam nadzieję, że oszczędzi to komuś czas. :-)
źródło
Wyczyść pamięć podręczną
rm -rf var/cache
Jeśli funkcja redis jest włączona, wyczyść db redis, używając wiersza polecenia:
źródło
naprawi twój problem
źródło
Zrzut plików autoload kompozytora :
Następnie:
źródło
Ten sam problem, z jakim się spotkałem podczas aktualizacji wersji Magento 2.3.3. więc zastępuję
app/etc/di.xml
pomoc dotyczącą zawartości pliku poniższą ścieżką. https://github.com/magento/magento2/blob/ddf42caaf25311f10b23b95a92746f99943e045e/app/etc/di.xml#L212Mój problem został już rozwiązany
źródło
Ten błąd jest tworzony, gdy próbujesz utworzyć (nowy) obiekt (klasę), który jest w rzeczywistości i ma interfejs. Zwykle dzieje się tak, gdy nie przesłoniłeś interfejsu dla klasy w pliku di.xml. Lub zastąpiłeś plik di.xml w katalogu adminhtml i próbujesz użyć interfejsu w interfejsie użytkownika.
źródło
Ten błąd może również wynikać z włączania lub wyłączania modułów bezpośrednio w aplikacji / etc / config.php, szczególnie gdy włącza się lub wyłącza podstawowe moduły Magento. W takim przypadku najlepiej wyczyścić pamięć podręczną, opróżnić pamięć podręczną redis, ponownie uruchomić lakier i php-fpm. I to działa.
źródło