Ошибка после обновления magento

27

После запуска этой команды в CLI php bin/magento setup:upgrade

Я получаю ниже ошибки -:

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`
Муртуза Забуавала
источник

Ответы:

33

Я решил эту проблему, просто выполнив эти шаги. выполните шаги:

  1. Удалите папку "di", расположенную в varкаталоге (для 2.0и 2.1)
  2. Запустите эту команду и перейдите к команде корневой папки вашего проекта:

    cd /yourmagentoroot/

    Если ваш режим Magento является разработчиком, вам не нужно запускать команды ниже, просто удалите var/generationкаталог (2.0 и 2.1) или generatedпапку (2.2 и выше)

  3. Затем запустите эту команду

    php bin/magento setup:di:compile
  4. Затем выполните эту команду (требуется только в производственном режиме)

    php bin/magento setup:static-content:deploy
  5. Наконец, дайте права доступа к файлу / каталогу. (При необходимости)

Муртуза Забуавала
источник
Как я могу решить SUDO: snag.gy/hC5JDL.jpg
zus
1
@zus в окнах попробуй без sudo
Муртуза Забуавала
31

Предоставление полного контроля (чтение / запись / выполнение) каталогу var и pub решило эту проблему для меня.

sudo chmod -R 777 var pub

Или вы также можете попробовать запустить команду с помощью sudo .

sudo php bin/magento setup:upgrade

Также попробуйте очистить кеш.

sudo rm -rf var/cache/* var/generation/*
Мукеш Чапагейн
источник
В некоторых случаях, если у вас есть доступ sudo к владельцу файловой системы magento или пользователю веб-сервера (www-data / nginx). Вы можете выполнить команду следующим образом: sudo -u www-data bin /
div
12

Настройте право собственности снова

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

Ссылка на эту ссылку

МинакшиСундарам Р
источник
теперь я получаю эту ошибку
Murtuza Zabuawala
1
Предупреждение: ltrim () ожидает, что параметр 1 будет строкой, объект указан в /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract.php в строке 152 Примечание: смещение неинициализированной строки: 0 в /var/www/html/magento/magento2.0/vendor/magento/framework/Autoload/ClassLoaderWrapper.php в строке 81 Примечание: смещение неинициализированной строки: 0 в /var/www/html/magento/magento2.0/ vendor / composer / ClassLoader.php в строке 317. Предупреждение: ltrim () ожидает, что параметр 1 будет строкой, объект указан в /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/EntityAbstract. PHP на линии
Муртуза Забуавала
1
@murtuza, пожалуйста, очистите var/generationпапку и cacheкаталоги внутри varи попробуйте снова.
Мэдди