Magento 2: Почему происходит перестройка config.php из-за сбоя CLI с "Недопустимым базовым URL"?


Для настройки фона я использую Magento 2.3.0 и импортировал (пока успешно) данные с существующего сайта с несколькими магазинами. Теперь я не могу получить доступ ни к интерфейсу, ни к административной области сайта, так как конфигурация теперь изменилась, и Magento выдает исключение с просьбой перестроить config.php. Проблема началась, когда я изменил ключ конфигурации из командной строки (URL-адрес интерфейса администратора).

Теперь, когда я пытаюсь восстановить/etc/config.php использование

php bin/magento app:config:import

Я получаю сообщение об ошибке Import failed: Invalid Base URL. The value must be a URL or one of the placeholders: {{base_url}} ...что, кстати, является довольно слабым сообщением об ошибке, поскольку в нем даже не указано, какой ключ вызывает проблему.

После прохождения кода я вижу один из ключей-нарушителей web/unsecure/base_web_url для области default, что вызывает проблему, поскольку при обработке чтения после конфигурации ядра Magento 2 он возвращает http:///, который явно является недопустимым URL-адресом. Это несмотря на то, что в моей базе данных (в core_config_data) для этого пути и области действия есть запись с допустимым URL-адресом (который не заканчивается конечным /).

Углубляясь в код, я вижу, что проблема в том, что module-store/Model/Config/Placeholder вызывает /App/Request/Http->getDistroBaseUrl(), который использует переменную сервера PHP ['HTTP_HOST'] для определения хоста, который пуст при вызове из командной строки и, следовательно, возвращает http:///.

Если кто-нибудь сможет пролить какой-либо свет на то, как это можно решить, я был бы очень признателен.

Author: ASQ, 2019-09-03

1 answers

Аналогичная проблема в прошлом заключалась в том, чтобы кэшировать в вашем интерфейсе командной строки, выполните следующее

rm -rf var/cache/ generation/

После того, как вы выполнили вышеуказанное, запустите

php bin/magento setup:upgrade && php bin/magento setup:static-content:deplpoy

Возможно, вам потребуется ускорить процесс развертывания. Вы можете сделать это, добавив -f в конец второй команды

После чего все сработало нормально, убедитесь, что параметр установлен и действителен в базе данных, прежде чем конфигурация будет кэширована в magento 2

 0
Author: Dava Gordon, 2019-09-03 13:31:47