Переменные среды в PHP могут быть использованы с помощью глобального массива `$_ENV`. Этот массив содержит переменные окружения, доступные вашему скрипту PHP.
### Использование переменных среды через $_ENV
Для доступа к переменным среды с помощью `$_ENV`, используйте следующий синтаксис:
```php
$value = $_ENV['MY_VARIABLE'];
```
### Добавление данных в переменные окружения
Чтобы добавить или изменить переменные окружения, вы можете использовать как прямое присваивание в массив `$_ENV`, так и функцию `putenv()`:
1. **Прямое присваивание:**
```php
$_ENV['MY_VARIABLE'] = 'my_value';
```
2. **Использование функции `putenv()`:**
```php
putenv('MY_VARIABLE=my_value');
```
Однако важно помнить, что изменения, внесенные посредством `putenv()`, могут не отражаться в массиве `$_ENV` сразу. Если вы используете `putenv()`, лучше сразу обновить `$_ENV`, чтобы они были в согласии:
```php
putenv('MY_VARIABLE=my_value');
$_ENV['MY_VARIABLE'] = 'my_value';
```
### filter_input с типом INPUT_ENV
Функция `filter_input(INPUT_ENV, 'КЛЮЧ')` предназначена для получения переменных среды, однако она работает с переменными, доступными через PHP, и может не видеть те, что были добавлены внутрь массива `$_ENV` или с помощью `putenv()`.
Если при вызове `filter_input(INPUT_ENV, 'ЛЮБОЙ_КЛЮЧ')` возвращается `null`, это может быть связано с тем, что:
1. Переменная не была корректно установлена.
2. Она не была доступна или не попала в GLOBALS (в зависимости от конфигурации PHP и настроек выполнения).
3. Некоторые переменные среды могут быть недоступны из-за настроек конфиденциальности веб-сервера или PHP.
### Рекомендации
Если вам нужно работать с переменными среды, лучше использовать `putenv()` для их установки и `$_ENV` для доступа к ним, но для получения переменных через `filter_input()` убедитесь, что они правильно установлены в окружении PHP и доступны для приложения.