Фатальна помилка встановлення Magento 2 - Неможливо створити інтерфейс


18

Я встановив свіжий Magento 2.1 над командним рядком і завжди отримую ту саму фатальну помилку при спробі отримати доступ до фронтенду чи бекенда.

Фатальна помилка: Невдала помилка: Неможливо створити інтерфейс Magento \ Framework \ App \ Config \ Scope \ ReaderPoolInterface

Хтось переживав те саме? Я знайшов деякі ресурси, але без реальної допомоги.

Оновлення Я видалив var / di та var / generation і перевів його в режим розробника

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

Ви намагалися видалити var / generation var / cache та перейти в режим розробника?
Рафаель у Digital Pianism

@RaphaelatDigitalPianism зробив обом не пощастило
Клетцеб

Ви встановлювали будь-які сторонні модулі перед запуском програми Magento?
Aurélien FOUCRET

Відповіді:


14

Якщо ви використовуєте конфігурацію nginx з офіційного зразка та запускаєте Magento в режимі за замовчуванням / розробником, ця ситуація може статися з глобальним значенням кореня документа, встановленим як

root $MAGE_ROOT/pub;

Проблему можна вирішити, встановивши Magento root з пабного каталогу до root index.php

root $MAGE_ROOT;

У випадку Apache DocumentRootзміна значення також може виправити ситуацію. Сподіваюся, це допоможе.


Налаштування веб-корінця поза пабом - загалом, не дуже гарна ідея.
siliconrockstar

13

Переконайтесь, що модуль PHP intl встановлений, очистіть var/generation(або generation/*якщо ви використовуєте Magento 2.2+) та var/cacheввімкніть модулі Magento ( bin/magento module:enable --all), компілюйте DI ( bin/magento setup:di:compile) та повторіть спробу.


Пляма на. Відключення будь-яких модулів перед запуском setup:installабо setup:upgradeпроблема
Stevie G

5

Після завантаження всіх файлів / створеного проекту через композитора ви повинні налаштувати магазин. Це можна зробити з командного рядка:

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

Або перейдіть за адресою : http://mystore.com/setup


1

Щоб позбутися цього питання, я зробив наступні кроки.

Спершу я знову встановив Magento абсолютно новий, тоді я зробив це:

  • видалено var / generation та var / кеш

  • перейшов у режим розробника для перекомпіляції

І раптом це спрацювало чудово


1
режим перекомпіляції? де це
Філіп Сандер

Якщо ви перейдете в режим розробки, то він перекомпілює
Клетцеб,

1

У мене також є така проблема при спробі запустити Magento cli як magento listу терміналі. Через кілька годин я спробував рішення, але всі відповіді мені не підходять. виявляється, що di.xmlфайл загублений.

Кроки:

  • Скопіюйте звідси весь файл, що відсутній:

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

  • Після цього запустіть засіб видалення кешу: rm -rf var/*.
  • Тепер, якщо ви запустите magento listце буде працювати знову.

0

Якщо ця проблема була викликана зміною коду без попереднього очищення кеша. Я вручну очистив кеш, це вирішило проблему.

sudo rm -rf var / кеш
sudo rm -rf var / di
sudo rm -rf var / покоління
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.