Получить переменную среды Heroku с помощью PHP-скрипта - PullRequest
0 голосов
/ 06 июля 2019

Я не могу получить доступ к переменным среды Heroku, когда запускаю скрипт PHP.На рисунке ниже вы можете видеть, что у меня есть переменная TEST_VAR.

create heroku env var

Приведенный ниже фрагмент кода должен вывести эту переменную, вместо этого я ничего не получаю:

$url = getenv('TEST_VAR');
echo $url;

Я попробовал это и получил 'Error!', Поэтому getenv('TEST_VAR') is false:

if (getenv('TEST_VAR')) {
    $url = getenv('TEST_VAR');
    echo $url;
} else {
    die('Error!');
}

На этом рисунке вы можете увидеть выходные данные обоих фрагментов (пусто).строка и ошибка!).

output

1 Ответ

0 голосов
/ 07 июля 2019

Похоже, вы запускаете этот код в локальной командной строке. heroku config:set устанавливает переменные среды для вашего приложения на Heroku . Это ничего не делает для вашего местного окружения.

Чтобы использовать переменные среды локально, вы должны установить их по-другому. Вы можете сделать это вручную, используя любые инструменты, которые предоставляет ваша операционная система, но интерфейс Heroku CLI также предоставляет команду a heroku local , которая удобно считывает переменные среды из файла с именем .env и заполняет их для вы .

Просто создайте файл .env, содержащий ваши переменные, например,

TEST_VAR=hello_world

и затем запустите ваш код через heroku local. По умолчанию это будет запускать ваш процесс web, как определено в вашем Procfile. Если вы уже настроили переменные с помощью heroku config:set, вы можете скопировать их в ваш .env файл :

heroku config:get TEST_VAR >> .env

Обратите внимание, что файл .env не должен фиксироваться в вашем хранилище . Он предназначен только для местного использования. На Heroku вы должны продолжать устанавливать конфигурационные переменные, используя heroku config:set.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...