Erreur après la mise à niveau de Magento

27

Après avoir tiré cette commande dans CLI php bin/magento setup:upgrade

J'obtiens en dessous de l'erreur -:

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
la source

Réponses:

33

J'ai résolu ce problème en suivant simplement ces étapes. suivez les étapes:

  1. Supprimez le dossier "di" situé dans le varrépertoire (pour 2.0et 2.1)
  2. Exécutez cette commande et accédez à la commande du dossier racine de votre projet:

    cd /yourmagentoroot/

    Si votre mode Magento est développeur, vous n'avez pas besoin d'exécuter les commandes ci-dessous, supprimez simplement le var/generationrépertoire (2.0 et 2.1) ou le generateddossier (à partir de la version 2.2)

  3. Exécutez ensuite cette commande

    php bin/magento setup:di:compile
  4. Exécutez ensuite cette commande (requise en mode production uniquement)

    php bin/magento setup:static-content:deploy
  5. Enfin, accordez des autorisations de fichier / répertoire (si nécessaire)

Murtuza Zabuawala
la source
Comment puis-je résoudre SUDO: snag.gy/hC5JDL.jpg
zus
1
@zus dans Windows essaie sans sudo
Murtuza Zabuawala
31

Donner le contrôle total (lecture / écriture / exécution) au répertoire var et pub a résolu ce problème pour moi.

sudo chmod -R 777 var pub

Ou, vous pouvez également essayer d'exécuter la commande à l'aide de sudo .

sudo php bin/magento setup:upgrade

Essayez également d'effacer le cache.

sudo rm -rf var/cache/* var/generation/*
Mukesh Chapagain
la source
Dans certains cas, si vous avez un accès sudo au propriétaire du système de fichiers magento ou à l'utilisateur du serveur Web (www-data / nginx). Vous pouvez exécuter la commande comme ceci: sudo -u www-data bin / magento list--
div
12

Configurer à nouveau la propriété

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

Référer ce lien

MeenakshiSundaram R
la source
maintenant je reçois cette erreur
Murtuza Zabuawala
1
Avertissement: ltrim () s'attend à ce que le paramètre 1 soit une chaîne, objet donné dans /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract.php sur la ligne 152 Remarque: décalage de chaîne non initialisé: 0 dans /var/www/html/magento/magento2.0/vendor/magento/framework/Autoload/ClassLoaderWrapper.php sur la ligne 81 Remarque: décalage de chaîne non initialisé: 0 dans /var/www/html/magento/magento2.0/ vendeur / compositeur / ClassLoader.php sur la ligne 317 Avertissement: ltrim () s'attend à ce que le paramètre 1 soit une chaîne, objet donné dans /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract. php en ligne
Murtuza Zabuawala
1
@murtuza s'il vous plaît effacer votre var/generationdossier et cachedirs à l' intérieur varet essayez à nouveau.
Maddy