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`

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)


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/*

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


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.