Как прочитать переменную окружения
Короткий ответ
getenv() возвращает значение или false, если переменной нет:
<?php
putenv('APP_ENV=production');
echo getenv('APP_ENV'), ' ', getenv('MISSING_VARIABLE') ?: 'default';Результат:
production defaultОбязательная переменная
Без пароля базы данных работать нельзя — лучше остановиться сразу с понятной ошибкой:
<?php
function requireEnv(string $name): string
{
$value = getenv($name);
if ($value === false || $value === '') {
throw new RuntimeException("Environment variable $name is not set");
}
return $value;
}
try {
requireEnv('DB_PASSWORD_FOR_RECIPE');
} catch (RuntimeException $e) {
echo $e->getMessage();
}Результат:
Environment variable DB_PASSWORD_FOR_RECIPE is not setФункции из этого ответа
- getenv — Возвращает значение переменной окружения.
- parse_ini_file — Читает файл настроек в формате ini.
- define — Создаёт константу во время работы программы.