Magento 2 Installation Fatal Error - Tidak dapat membuat instance antarmuka

18

Saya telah menginstal Magento 2.1 baru di atas baris perintah dan selalu mendapatkan kesalahan fatal yang sama ketika mencoba mengakses frontend atau backend.

Kesalahan fatal: Kesalahan Tidak Berhasil: Tidak dapat membuat instance antarmuka Magento \ Framework \ App \ Config \ Scope \ ReaderPoolInterface

Adakah yang mengalami hal yang sama? Saya telah menemukan beberapa sumber tetapi tanpa bantuan nyata.

Pembaruan Saya telah menghapus var / di dan var / generation dan mengaturnya ke mode pengembang

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
sumber
Apakah Anda mencoba menghapus var / generation var / cache dan beralih ke mode pengembang?
Raphael di Digital Pianism
@RaphaelatDigitalPianism melakukan keduanya tidak berhasil
Klettseb
Apakah Anda memasang modul pihak ketiga sebelum menjalankan Magento menginstal?
Aurélien FOUCRET

Jawaban:

14

Jika Anda menggunakan konfigurasi nginx dari sampel resmi dan menjalankan Magento dalam mode default / developer, situasi ini mungkin terjadi dengan nilai global root dokumen yang ditetapkan sebagai

root $MAGE_ROOT/pub;

Masalah ini dapat diperbaiki dengan mengatur root Magento dari direktori pub ke root index.php

root $MAGE_ROOT;

Dalam kasus Apache DocumentRootperubahan nilai mungkin juga memperbaiki situasi. Semoga ini bisa membantu.

Yaroslav Rogoza
sumber
Mengatur root web di luar pub, secara keseluruhan, bukan ide yang sangat bagus.
siliconrockstar
13

Pastikan modul PHP intl diinstal, hapus var/generation(atau generation/*jika Anda menggunakan Magento 2.2+) dan var/cache, aktifkan modul Magento ( bin/magento module:enable --all), kompilasi DI ( bin/magento setup:di:compile), lalu coba lagi.

Erfan
sumber
Spot on. Menonaktifkan modul apa pun sebelum menjalankan setup:installatau setup:upgrademasalahnya
Stevie G
5

Setelah Anda mengunduh semua file / membuat proyek melalui komposer, Anda harus mengatur toko. Anda dapat melakukan ini dari baris perintah:

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

Atau buka: http://mystore.com/setup

Iazel
sumber
1

Langkah-langkah yang saya lakukan adalah sebagai berikut untuk menghilangkan masalah ini.

Pertama saya menginstal ulang Magento sepenuhnya baru kemudian saya melakukan ini:

  • menghapus var / generation dan var / cache

  • beralih ke mode pengembang untuk mengkompilasi ulang

Dan tiba-tiba itu bekerja dengan baik

Klettseb
sumber
1
mode kompilasi ulang? di mana itu
Philipp Sander
Jika Anda beralih ke mode pembangunan maka recompiles
Klettseb
1

Saya juga punya masalah seperti ini ketika mencoba menjalankan Magento cli seperti magento listdi terminal. Setelah beberapa jam saya mencoba solusi tetapi semua jawaban tidak berhasil untuk saya. ternyata di.xmlfile tersebut hilang.

Langkah :

  • Salin semua file yang hilang dari sini:

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

  • Setelah itu jalankan menghapus cache yang: rm -rf var/*.
  • Sekarang jika Anda menjalankan magento listini akan berfungsi lagi.
Gujarat Santana
sumber
0

Apakah masalah yang sama disebabkan oleh mengubah kode tanpa membersihkan cache terlebih dahulu. Saya membersihkan cache secara manual untuk menyelesaikan masalah.

sudo rm -rf var / cache
sudo rm -rf var / di
sudo rm -rf var / generation
Dallas Clarke
sumber