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上2016年

@RaphaelatDigitalPianism都不走运
Klettseb

在运行Magento安装之前,您是否安装了任何第三方模块?
的Aurelien FOUCRET

Answers:


14

如果您使用官方示例中的nginx配置并以默认/开发人员模式运行Magento,则这种情况可能会发生,并且文档根全局值设置为

root $MAGE_ROOT/pub;

可以通过将pub目录中的Magento根设置为根index.php来解决此问题。

root $MAGE_ROOT;

如果使用Apache,则DocumentRoot值更改也可以解决这种情况。希望它会有所帮助。


总体而言,在pub之外设置网络根目录不是一个好主意。
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

在下载所有文件/通过composer创建项目之后,必须设置商店。您可以从命令行执行此操作:

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

或前往:http : //mystore.com/setup


1

我采取的步骤是摆脱这个问题的以下步骤。

首先,我重新安装了全新的Magento,然后执行了以下操作:

  • 删除了var / generation和var / cache

  • 切换到开发人员模式以重新编译

突然工作正常


1
重新编译模式?那在哪里
Philipp Sander

如果您切换到开发模式,则会重新编译
Klettseb

1

尝试magento list在终端中运行Magento cli时,我也遇到此类问题。几个小时后,我尝试了解决方案,但所有答案对我都不起作用。原来di.xml文件已丢失。

脚步 :

  • 从此处复制所有丢失的文件:

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

  • 之后运行删除缓存:rm -rf var/*
  • 现在,如果您运行,magento list它将再次起作用。

0

发生了同样的问题,原因是在不先清除缓存的情况下更改了代码。我手动清理了缓存,从而解决了该问题。

须藤rm -rf var / cache
须藤rm -rf var / di
须藤rm -rf var / generation
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.