Как получить переменную среды из оболочки в PHP / phpinfo ()

Я пытаюсь использовать API SendGrid, для которого мне нужно получить доступ к переменной среды, которую я добавил в свой корневой каталог, используя следующую команду.

echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
echo "sendgrid.env" >> .gitignore
source ./sendgrid.env

Это создало sendgrid.env файл в моей корневой папке, добавлен sendgrid.env к моему .gitignore файл и добавил SENDGRID_API_KEY в качестве переменной среды.

Тем не менее, PHP getenv('SENDGRID_API_KEY') ключ ничего не возвращает, а PHP phpinfo() не отражает SENDGRID_API_KEY в качестве переменной среды.

Вот Инструкции по установке API.

2

Решение

Подразумевается, что вы должны использовать другой пакет для чтения .env файлы. Eсть образец на их официальном сайте, который использует Dotenv класс для загрузки содержимого файлов в среду:

<?php

require 'vendor/autoload.php';
Dotenv::load(__DIR__);
$sendgrid_apikey = getenv('YOUR_SENDGRID_APIKEY');

Тем не менее, они даже не объясняют, откуда приходит класс. Видимо, они означают, что вы должны установить vlucas/phpdotenv пакет. Обратите внимание, что в текущей версии этого пакета load метод не является статичным (это на самом деле был статичным в ранних версиях):

$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]