Błąd po usunięciu całej pamięci podręcznej w Magento 2

10

Po usunięciu całej pamięci podręcznej jako

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

Mam błąd poniżej

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}

Jakie są przyczyny tego problemu?

Czy możesz mi zasugerować możliwe rozwiązania tego problemu?

sagar sapkota
źródło

Odpowiedzi:

19

Musisz najpierw usunąć folder var .

Uruchom polecenie, php bin/magento setup:di:compile

Po usunięciu folderu var zezwól na folder var,

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

Sprawdź ponownie.

Rakesh Jesadiya
źródło
4
Błąd rozwiązany dla mnie przy kompilowaniu modułów przy użyciu instalacji php bin / magento: di: compile
sagar sapkota 25.10.16
Mam ten sam problem i mój problem został również rozwiązany za pomocą instalacji php bin / magento: di: compil comand
Pandurang
6

Jeśli po kompilacji nadal występują problemy, usunięcie foldera / zawartości var / di zwykle działa na mnie. Nie mam pojęcia, co właściwie tak się dzieje, często na to wpadam i bardzo chciałbym wiedzieć.

Eamonn
źródło
1
Czy udało ci się dowiedzieć, dlaczego tak się dzieje?
Stevie G,
1

Miałem ten sam problem, naprawiłem go, podając uprawnienia do katalogu var 777

cd magento root folder
sudo chmod 777 -R var/

teraz Magento może utworzyć folder di.

lazy_coder
źródło
0

Mam również ten sam problem poniżej

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
źródło