Fehler nach Magento-Upgrade

27

Nach dem Auslösen dieses Befehls in CLI php bin/magento setup:upgrade

Ich erhalte folgende Fehlermeldung:

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
quelle

Antworten:

33

Ich habe dieses Problem durch einfaches Ausführen dieser Schritte gelöst. folge den Schritten:

  1. Löschen Sie den Ordner "di" im varVerzeichnis (für 2.0und 2.1)
  2. Führen Sie diesen Befehl aus und wechseln Sie zu Ihrem Projektstammordner-Befehl:

    cd /yourmagentoroot/

    Wenn Ihr Magento-Modus Entwickler ist, müssen Sie die folgenden Befehle nicht ausführen, sondern nur das var/generationVerzeichnis (2.0 & 2.1) oder den generatedOrdner (2.2 und höher) entfernen.

  3. Führen Sie dann diesen Befehl aus

    php bin/magento setup:di:compile
  4. Führen Sie dann diesen Befehl aus (nur im Produktionsmodus erforderlich).

    php bin/magento setup:static-content:deploy
  5. Geben Sie abschließend die Datei- / Verzeichnisberechtigungen ein (falls erforderlich).

Murtuza Zabuawala
quelle
Wie kann ich SUDO lösen: snag.gy/hC5JDL.jpg
zus
1
@zus in Windows versuchen, ohne
Sudo
31

Dieses Problem konnte für mich behoben werden, indem ich die vollständige Kontrolle (Lesen / Schreiben / Ausführen) über var und das Pub- Verzeichnis hatte.

sudo chmod -R 777 var pub

Sie können auch versuchen, den Befehl mit sudo auszuführen .

sudo php bin/magento setup:upgrade

Versuchen Sie auch, den Cache zu leeren.

sudo rm -rf var/cache/* var/generation/*
Mukesh Chapagain
quelle
In einigen Fällen haben Sie sudo-Zugriff auf den Eigentümer des Magento-Dateisystems oder den Webserver-Benutzer (www-data / nginx). Sie können den folgenden Befehl ausführen: sudo -u www-data bin / magento list--
div
12

Richten Sie den Eigentümer erneut ein

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

Verweisen Sie auf diesen Link

MeenakshiSundaram R
quelle
Jetzt
erhalte ich
1
Warnung: ltrim () erwartet, dass Parameter 1 ein String ist, ein Objekt, das in /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract.php in Zeile 152 angegeben ist. Hinweis: Nicht initialisierter String-Offset: 0 in /var/www/html/magento/magento2.0/vendor/magento/framework/Autoload/ClassLoaderWrapper.php in Zeile 81 Hinweis: Nicht initialisierter String-Offset: 0 in /var/www/html/magento/magento2.0/ vendor / composer / ClassLoader.php in Zeile 317 Warnung: ltrim () erwartet, dass Parameter 1 ein String ist, ein Objekt, das in /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract angegeben ist. PHP online
Murtuza Zabuawala
1
@murtuza bitte löschen Sie Ihren var/generationOrdner und cacheVerzeichnisse varund versuchen Sie es erneut.
Maddy