Ошибка после удаления всего кэша в Magento 2

10

При удалении всего кеша как

rm -rf var/cache/* var/page_cache/* var/view_preprocessed/* var/generation/*

Я получил ниже ошибки

Warning: ltrim() expects parameter 1 to be string, object given in vendor\magento\framework\Code\Generator\EntityAbstract.php on line 152

Notice: Uninitialized string offset: 0 in vendor\magento\framework\Autoload\ClassLoaderWrapper.php on line 81

Notice: Uninitialized string offset: 0 in vendor\composer\ClassLoader.php on line 317

Notice: Uninitialized string offset: 0 in vendor\composer\ClassLoader.php on line 349
exception 'RuntimeException' with message 'Source class "" for   "Magento\Framework\App\Response\Http\Interceptor" generation does not exist.'
in vendor\magento\framework\Code\Generator.php:185 Stack trace:     #0  
vendor\magento\framework\Code\Generator.php(112): Magento\Framework\Code\Generator->tryToLoadSourceClass('Magento\\Framewo...', Object(Magento\Framework\Interception\Code\Generator\Interceptor)) #1 
vendor\magento\framework\Code\Generator\Autoloader.php(35): Magento\Framework\Code\Generator->generateClass('Magento\\Framewo...') #2 [internal function]: Magento\Framework\Code\Generator\Autoloader->load('Magento\\Framewo...') #3 
vendor\magento\framework\ObjectManager\Factory\AbstractFactory.php(93): spl_autoload_call('Magento\\Framewo...') #4 
vendor\magento\framework\ObjectManager\Factory\Compiled.php(88): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array) #5 
vendor\magento\framework\ObjectManager\Factory\Compiled.php(130): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Framewo...') #6 
vendor\magento\framework\ObjectManager\Factory\Compiled.php(67): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Framewo...') #7     
vendor\magento\framework\ObjectManager\ObjectManager.php(57): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Framewo...', Array) #8 
vendor\magento\framework\App\Bootstrap.php(233): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Framewo...', Array) #9 
index.php(38): Magento\Framework\App\Bootstrap->createApplication('Magento\\Framewo...') #10 {main}

Каковы причины этого вопроса?

Можете ли вы предложить мне возможные решения этой проблемы?

сахарная сапкота
источник

Ответы:

19

Вы должны сначала удалить папку VAR .

Команда Run, php bin/magento setup:di:compile

После удаления папки VAR дайте разрешение папке VAR,

chmod -R 775 var/generation/ var/cache/ var/full_page/

Проверить снова.

Ракеш Джесадия
источник
4
Ошибка, исправленная для меня при компиляции модулей с использованием php bin / magento setup: di: compile
sagar sapkota
У меня такая же проблема , и моя проблема также решена с помощью PHP бен / установка Magento: ди: compil COMAND
Pandurang
6

Если после компиляции у вас все еще есть проблемы, удаление папки и содержимого var / di обычно помогает мне. Хотя понятия не имею, что на самом деле вызывает это, я часто сталкиваюсь с этим и очень хотел бы знать.

Имон
источник
1
Вам удалось выяснить, почему это происходит?
Стиви Дж
1

У меня была такая же проблема, я исправил ее, дав каталогу var 777 в разрешениях

cd magento root folder
sudo chmod 777 -R var/

теперь Magento может создавать папки di.

lazy_coder
источник
0

У меня тоже такая же проблема ниже работала у меня

cd <your Magento install dir> 
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data .   // I used LEMP/LAMP
chmod u+x bin/magento

php bin/magento setup:di:compile   // you can skip if know compile status
php bin/magento setup:static-content:deploy -f en_CA // if need your language code
matinict
источник