ข้อผิดพลาดร้ายแรงในการติดตั้ง 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 แล้วเปลี่ยนเป็นโหมดผู้พัฒนาหรือไม่
Raphael ที่ Digital Pianism

@RaphaelatDigitalPianism ทำทั้งสองอย่างไม่มีโชค
Klettseb

คุณได้ติดตั้งโมดูลของบุคคลที่สามใด ๆ ก่อนทำการติดตั้ง Magento หรือไม่?
Aurélien FOUCRET

คำตอบ:


14

หากคุณใช้การกำหนดค่า nginx จากตัวอย่างเป็นทางการและรัน Magento ในโหมดเริ่มต้น / นักพัฒนาสถานการณ์นี้อาจเกิดขึ้นกับค่ารูทโกลบอลของเอกสารที่ตั้งเป็น

root $MAGE_ROOT/pub;

ปัญหานี้สามารถแก้ไขได้โดยการตั้งค่า Magento root จาก pub directory เป็น root index.php

root $MAGE_ROOT;

ในกรณีของ Apache การDocumentRootเปลี่ยนแปลงค่าอาจแก้ไขสถานการณ์ หวังว่ามันจะช่วย


การตั้งค่ารูทเว็บภายนอกผับนั้นโดยรวมไม่ใช่ความคิดที่ดีมาก
siliconrockstar

13

ตรวจสอบให้แน่ใจว่าได้ติดตั้งintlโมดูล PHP แล้วล้าง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 / cache

  • เปลี่ยนเป็นโหมดนักพัฒนาซอฟต์แวร์เพื่อคอมไพล์ใหม่

และทันใดนั้นมันก็ทำงานได้ดี


1
โหมดคอมไพล์ใหม่? นั่นคือที่
Philipp Sander

หากคุณเปลี่ยนไปใช้โหมดการพัฒนาก็จะคอมไพล์ใหม่
Klettseb

1

ฉันยังมีปัญหาแบบนี้เมื่อพยายามเรียกใช้ Magento cli เช่นmagento listใน terminal หลังจากผ่านไปหลายชั่วโมงฉันก็ลองใช้วิธีแก้ปัญหา แต่คำตอบทั้งหมดไม่ได้ผลสำหรับฉัน ปรากฎว่าdi.xmlไฟล์หายไป

ขั้นตอน:

  • คัดลอกไฟล์ที่หายไปทั้งหมดจากที่นี่:

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

  • rm -rf var/*หลังจากนั้นรันลบแคช:
  • ตอนนี้ถ้าคุณเรียกใช้magento listสิ่งนี้จะทำงานอีกครั้ง

0

มีปัญหาเดียวกันที่เกิดจากการเปลี่ยนรหัสโดยไม่ต้องล้างแคชก่อน ฉันทำความสะอาดแคชด้วยตนเองเพื่อแก้ไขปัญหา

sudo rm -rf var / cache
sudo rm -rf var / di
sudo rm -rf var / generation
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.