Błąd po aktualizacji Magento

27

Po uruchomieniu tej komendy w interfejsie CLI php bin/magento setup:upgrade

Występuje błąd poniżej:

Fatal error: Uncaught exception 'Magento\Framework\Exception\LocalizedException' with message 'Can't create directory 
/var/www/html/magento/magento2.0/var/generation/Magento/Framework/App/ResourceConnection/.' in 
/var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator.php:103
Stack trace:
#0 /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/Autoloader.php(35): Magento\Framework\Code\Generator->generateClass('Magento\\Framewo...')
#1 [internal function]: Magento\Framework\Code\Generator\Autoloader->load('Magento\\Framewo...') #2 [internal function]: spl_autoload_call('Magento\\Framewo...')
#3 /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Reader/ClassReader.php(19): ReflectionClass->__construct('Magento\\Framewo...')
#4 /var/www/html/magento/magento2.0/vendor/magento/framework/ObjectManager/Definition/Runtime.php(44): Magento\Framework\Code\Reader\ClassReader->getConstructor('Magento\\Framewo...')
#5 /var/www/html/magento/magento2.0/vendor/magento/framework/ObjectMana in /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator.php on line 103`
Murtuza Zabuawala
źródło

Odpowiedzi:

33

Rozwiązałem ten problem, po prostu wykonując te czynności. wykonaj kroki:

  1. Usuń folder „di” znajdujący się w varkatalogu (dla 2.0i 2.1)
  2. Uruchom to polecenie i przejdź do polecenia folderu głównego projektu:

    cd /yourmagentoroot/

    Jeśli twój tryb Magento jest programistą, nie musisz uruchamiać poniżej poleceń, po prostu usuń var/generationkatalog (2.0 i 2.1) lub generatedfolder (2.2)

  3. Następnie uruchom to polecenie

    php bin/magento setup:di:compile
  4. Następnie uruchom to polecenie (wymagane tylko w trybie produkcyjnym)

    php bin/magento setup:static-content:deploy
  5. Na koniec daj uprawnienia do pliku / katalogu. (W razie potrzeby)

Murtuza Zabuawala
źródło
Jak mogę rozwiązać SUDO: snag.gy/hC5JDL.jpg
zus
1
@zus w systemie Windows spróbuj bez sudo
Murtuza Zabuawala
31

Pełna kontrola (odczyt / zapis / wykonanie) w katalogu var i pub rozwiązała dla mnie ten problem.

sudo chmod -R 777 var pub

Możesz też spróbować uruchomić polecenie za pomocą sudo .

sudo php bin/magento setup:upgrade

Spróbuj także wyczyścić pamięć podręczną.

sudo rm -rf var/cache/* var/generation/*
Mukesh Chapagain
źródło
W niektórych przypadkach, jeśli masz dostęp sudo do właściciela systemu plików magento lub użytkownika serwera WWW (www-data / nginx). Możesz wykonać następującą komendę: sudo -u www-data bin / magento list--
div
12

Ponownie skonfiguruj własność

CentOS: chown -R :apache .
Ubuntu: chown -R :www-data .

Zobacz ten link

MeenakshiSundaram R.
źródło
teraz otrzymuję ten błąd
Murtuza Zabuawala
1
Ostrzeżenie: ltrim () oczekuje, że parametr 1 będzie łańcuchem, obiekt podany w /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract.php w linii 152 Uwaga: Niezainicjowane przesunięcie łańcucha: 0 w /var/www/html/magento/magento2.0/vendor/magento/framework/Autoload/ClassLoaderWrapper.php na linii 81 Uwaga: Niezainicjowane przesunięcie łańcucha: 0 w /var/www/html/magento/magento2.0/ vendor / composer / ClassLoader.php w wierszu 317 Ostrzeżenie: ltrim () oczekuje, że parametr 1 będzie ciągiem, obiekt podany w /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract. php on line
Murtuza Zabuawala
1
@murtuza wyczyść swój var/generationfolder i cachekatalogi vari spróbuj ponownie.
Maddy,