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`

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).


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

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.