Azure Служба приложений - значение параметра приложения из переменной среды (переменная как значение в JSON) - PullRequest
1 голос
/ 17 июня 2020

давайте создадим новое WebApp и включим In-App MySQL. Как мы знаем, DbPort можно изменить при перезапуске приложения, поэтому рекомендуется использовать переменные вместо stati c settings. Здесь у нас есть не только \ data \ mysql \ MYSQLCONNSTR_localdb, но и системная переменная WEBSITE_MYSQL_PORT. С синтаксисом getenv ('WEBSITE_MYSQL_PORT') он работает идеально.

NOw У меня есть код PHP, использующий синтаксис getenv ('DB_PORT'). Это происходит из репозитория GIT, который я не хочу менять. Но я хочу использовать переменные.

Когда я использую Портал и устанавливаю в Configuration> Application settings новый как {"name": "DB_PORT", "value": "WEBSITE_MYSQL_PORT"}, затем getenv (' DB_PORT ') возвращает текстовое значение WEBSITE_MYSQL_PORT, а не номер порта.

Что здесь не так? Как поместить значение системной переменной в настройку приложения?

1 Ответ

0 голосов
/ 18 июня 2020

Если вы добавите настройки приложения с помощью

{"name": "DB_PORT", "value": "WEBSITE_MYSQL_PORT"}

getenv ('DB_PORT'), вернет «WEBSITE_MYSQL_PORT», и это ожидаемый результат.

Насколько мне известно, такого способа ссылки на другую переменную среды в значении настроек приложения не существует. Рекомендуется использовать в коде getenv('WEBSITE_MYSQL_PORT').

...