每次我尝试启用或禁用任何模块时,Magento 2都会崩溃



我有Magento 2.3.3,它托管在MageMojo Stratus上。

每次我尝试安装、启用或禁用任何模块时,前端都会正常工作,但我在管理面板中遇到了一个不可恢复的错误:

<b>Fatal error</b>:  Uncaught Error: Call to a member function getNext() on null in /srv/public_html/generated/code/Magento/User/Model/User/Interceptor.php:529
Stack trace:
#0 /srv/public_html/vendor/magento/module-backend/Model/Locale/Manager.php(96): MagentoUserModelUserInterceptor-&gt;getInterfaceLocale()
#1 /srv/public_html/vendor/magento/module-backend/Model/Locale/Resolver.php(77): MagentoBackendModelLocaleManager-&gt;getUserInterfaceLocale()
#2 /srv/public_html/vendor/magento/framework/Locale/Resolver.php(83): MagentoBackendModelLocaleResolver-&gt;setLocale(NULL)
#3 /srv/public_html/vendor/magento/module-backend/Model/Locale/Resolver.php(60): MagentoFrameworkLocaleResolver-&gt;__construct(Object(MagentoFrameworkAppConfig), 'general/locale/...', 'store', NULL)
#4 /srv/public_html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(116): MagentoBackendModelLocaleResolver-&gt;__construct(Object(MagentoFrameworkAppConfig), 'general/locale/...', 'store', Object(MagentoBackendModelSessionInterceptor) in <b>/srv/public_html/generated/code/Magento/User/Model/User/Interceptor.php</b> on line <b>529</b><br />

我已经尝试了众所周知的以下步骤和我能想到的每一种可能的变化:

magento maintenance:enable
magento cache:disable
rm -rf generated/ var/view_preprocessed/ var/composer_home/cache/ var/cache/ var/page_cache/
magento setup:upgrade
composer install
magento setup:di:compile
magento setup:static-content:deploy -f
magento indexer:reindex
magento cache:flush
magento cache:enable
magento maintenance:disable

问题似乎有两个方面:

  1. 要正确删除所有生成的内容,命令应为:
rm -rf generated/* var/di/* var/cache/* var/page_cache/* var/view_preprocessed/* var/composer_home/cache/* pub/static/*
  1. 在MageMojo的Mojo Stratus主机上,您需要同时清除Varnish缓存、Redis缓存、PHP OP缓存和AWS CloudFront存储。服务器上有一个helper cli工具,您可以使用:
...
php bin/magento cache:flush
/usr/share/stratus/cli cache.all.clear

最新更新