Странная ошибка при запуске программы установки: обновление после установки модуля

21

Я попытался установить wyomind google shopping и у меня возникает следующая ошибка при запуске установки bin / magento: обновление.

[UnexpectedValueException]
Unable to retrieve deployment version of static files from the file system.

[Magento\Framework\Exception\FileSystemException]
Cannot read contents from file "/var/www/vanillamage2/public_html/pub/stati
c/deployed_version.txt" Warning!file_get_contents(/var/www/vanillamage2/pub
lic_html/pub/static/deployed_version.txt): failed to open stream: No such f
ile or directory

Я пробовал это на 2 отдельных серверах и 3 отдельных установках Magento 2.1.7, но каждый раз получал одну и ту же проблему. Я видел подобные проблемы здесь:

https://github.com/magento/magento2/issues/6426

и

http://olivernam.com/magento2-frontpage-error-after-deploying-static-files

Поэтому испробовали многие решения, упомянутые здесь, в том числе повторное развертывание статических файлов, сброс разрешений, удаление статического содержимого, размещение пустого файла deploy_version.txt и т. Д., Но безуспешно. Я даже установил для этого файла значение 777 и у него есть правильный владелец, и я почти уверен, что это не проблема, поскольку мои решения, приведенные ниже, не изменят разрешения этого файла.

Есть только 2 способа установки: обновить до запуска.

  1. Отключение плагина.
  2. Переименуйте приложение / code / Wyomind / SimpleGoogleShopping / Setup / UpgradeData.php в UpgradeData.bak

Выполнение любого из этих действий позволяет запустить «setup: upgrade», однако Wyomind предполагает, что это проблема с моей стороны, а не с их плагином, и поэтому не хотят помогать.

Кто-нибудь может предложить что-то, что может быть причиной этой проблемы?

Харри
источник
Хорошо, спасибо, но, к сожалению, ошибка сохраняется.
Харри

Ответы:

22

Необходимо обновить в таблице базы данных core_config_data,

Если запись ( path field value = 'dev/static/sign') существует в core_config_dataтаблице

UPDATE core_config_data SET value = 0 WHERE path = 'dev/static/sign'

Если запись не существует, запустите под запросом Вставить запись,

INSERT INTO core_config_data VALUES (null, 'default' , 0, 'dev/static/sign', 0);

После этого запустите вашу команду

sv3n
источник
4
Это может быть больше обходной путь для подписания статических файлов, необходимых?
Харри
2
Это, однако, работает, похоже, что-то идет не так с подписью статических файлов здесь.
Харри
17

В моем случае я побежал php bin/magento setup:static-content:deployи ошибка исчезла.

Кунсал Аджай
источник
4

Кажется, не имеет ничего общего с модулем Google. Это может произойти после любого развертывания; особенно если вы имеете дело с Magento в productionрежиме.

Запуск bin/magento setup:upgradeудаляет содержимое generatedкаталога. Это нормально в developmentрежиме, потому что содержимое generatedкаталога генерируется динамически. Но в productionрежиме generatedкаталог не генерируется ни динамически, ни автоматически. Это означает, что необходимо инициировать генерацию содержимого generatedкаталога вручную:

bin/magento setup:static-content:deploy en_GB en_US en_AU

(Подсказка: все локали вашей установки должны быть добавлены)

Это стандартный способ решения проблемы. Но в некоторых случаях вы можете захотеть сохранить содержимое вашего generatedкаталога. Возможно, потому что его содержимое не изменилось во время развертывания. Возможно, потому что вы сгенерировали его содержимое в другой среде или с помощью конвейера развертывания и хотите просто развернуть его на текущем сервере, скопировав каталог.

Вам все еще может потребоваться запустить bin/magento setup:upgradeв таком случае, но вы не хотели бы, чтобы он что-либо удалить из generatedкаталога. Для этого разработчики Smart Magento добавили keep-generatedфлаг:

bin/magento setup:upgrade --keep-generated
Привет
источник
3

Решение от GitHub работает на меня. https://github.com/magento/magento2/issues/6426#issuecomment-243879287

Вы можете просто создать пустой файл по следующему пути: pub/static/deployed_version.txt

затем запустите статическое развертывание контента

php bin/magento setup:static-content:deploy
user1506075
источник
1

В облаке Magento работает ssh:


  vendor/magento/ece-tools/bin/ece-tools deploy

Матиас Анониз
источник
0

Это сработало для меня:

php bin/magento setup:static-content:deploy -ea_php 72

(-ea_php 72 используется для принудительного использования PHP версии 7.2, потому что мой сервер наследует 7.0.32)

Aculine
источник
0

Вам нужно обновить таблицу core_config_data,

Вы можете искать с помощью «путь» это «Dev / статический / знак»

Изменить значение с 1на 0;

Или вы можете обновить запрос:

UPDATE core_config_data SET value = 0 WHERE path = 'dev/static/sign'
SyLuu - Лерик
источник