Настройка magento: ошибка обновления «конфигурация развертывания отсутствует»

15

Когда я пытаюсь обновить Magento 2, php bin/magento setup:upgradeя получаю

я получил

[Magento \ Setup \ Exception]
Невозможно запустить эту операцию: конфигурация развертывания отсутствует. Запустите 'magento setup: config: set --help' для параметров. Установка: обновление

[--keep-генерируется] [--magento-init-params = "..."]

Как это исправить? Обновление с помощью веб-программы обновления выдает следующие ошибки:

введите описание изображения здесь

Я попросил моего хостинг-провайдера исправить их, и они установили правильную версию php 5.6 и все расширения, рекомендованные magento, и создали работу cron, но я все еще вижу ошибку.


ОБНОВЛЕНИЕ: (из комментариев)
env.php не было там, когда я бегу, magento setup:config:setя получаю эту ошибку:

$ bin / magento setup: config: set
SQLSTATE [HY000] [2002] Нет такого файла или каталога

[InvalidArgumentException]
Проверка параметров не удалась

Lynob
источник
1
Проверьте, если <magento install dir>/app/etc/env.phpприсутствует. Это конфигурация развертывания. Если он отсутствует, выполните magento setup:config:setкоманду еще раз, чтобы создать ее.
Стив Джонсон
@SteveJohnson env.php не было там, когда я запускаю, magento setup:config:setя получаю эту ошибку pastebin.com/BDzxYGGU
Lynob
Ошибка указывает, что ваше имя пользователя базы данных Magento и пароль не совпадают. Я не уверен, что это хорошая идея запустить вашу базу данных Magento как root; Вы видели наши инструкции по установке MySQL ? Может быть, попробуйте это и посмотрите, если команда будет выполнена успешно.
Стив Джонсон

Ответы:

7

Я столкнулся с той же проблемой сегодня. Оказалось, что app/etc/env.phpпропал без вести. Это означает, что Magento еще не был установлен. Во время установки Magento он создаст этот файл, поэтому:

  • убедитесь, что app/etc/доступно для записи для пользователя magento / webuser
  • бегать bin/magento setup:install ...params...

В моем случае какой-то скрипт, который я сделал, не копировал мой env.phpфайл в app/etc/папку.

Также возможно, что файл есть, но он не доступен для чтения для пользователя / веб-пользователя Magento.

7ochem
источник
42

Это сообщение об ошибке также отображается, если ваш app/etc/config.phpотсутствует. Если app/etc/env.phpприсутствует, но вы все еще видите эту проблему, проверьте app/etc/config.php. Если его нет, Magento может создать его, запустив bin/magento module:enable --all. Это создаст файл заново. Затем попробуйте запустить bin/magento setup:upgradeснова.

kirkmadera
источник
1
В моем случае это была проблема, app/etc/env.phpприсутствовала, но app/etc/config.phpне была.
Нильс
У меня есть и app / etc / env.php, и app / etc / config.php, которые все еще имеют эту ошибку.
Ajwad Syed
идеальный ответ !!! сделал мой день +1 :)
SagarPPanchal
3

В моем случае я использую Magento 2 от Docker,

У меня были оба app/etc/env.phpи app/etc/config.phpфайлы. Также имел .htaccessфайл в корневой папке и все еще имел эту ошибку при выполнении любой команды magento:

Invalid configuration file: '/var/www/html/app/etc/env.php'

Потом,

  1. Я убил все работающие контейнеры с: docker kill $(docker ps -q)
  2. Удалил все остановленные контейнеры с: docker rm $(docker ps -a -q)
  3. Удалил все изображения с: docker rmi $(docker images -q)
  4. Удалены все неиспользуемые тома с: docker volume prune

4-й пункт является обязательным.

И снова установил Docker Image для Magento 2. Это сработало для меня.

Ajwad Syed
источник
3

Сначала вам нужно развернуть свой веб-сайт. Первая Проверка всех папок в файле .htaccess доступна после

php bin/magento setup:upgrade

и

php bin/magento setup:static-content:deploy

или pub> статический файл отмечен не статическая папка, поэтому создайте статическую папку и index.phpв файле Pub. index.phpне доступно, поэтому, пожалуйста, скопируйте другой проект и вставьте

hirokapuriya
источник