$_ENV
$HTTP_ENV_VARS [устаревшее]
(PHP 4 >= 4.1.0, PHP 5)
$_ENV -- $HTTP_ENV_VARS [устаревшее] — Переменные окружения
Описание
Ассоциативный массив (array) значений, переданных скрипту через переменные окружения.
Эти значения импортируются в глобальное пространство имен PHP из системных переменных окружения, в котором запущен парсер PHP. Большинство значений передаётся из командной оболочки, под которой PHP запущен, и различных системных приложений, полного и точного списка не существует. Пожалуйста, изучите документацию к вашей командной оболочке для получения списка переменных окружения.
Некоторые переменные окружения включают в себя CGI переменные, причем их наличие не зависит от того, запущен PHP как модуль HTTP сервера или как CGI-модуль.
$HTTP_ENV_VARS содержит те же данные, но не является суперглобальной переменной. (Следует отметить, что $HTTP_ENV_VARS и $_ENV - различные переменные и обрабатываются по-разному)
Список изменений
Версия | Описание |
---|---|
4.1.0 | Введена $_ENV в замен устаревшей $HTTP_ENV_VARS. |
Примеры
Пример #1 Пример использования $_ENV
<?php
echo 'Мое имя пользователя: ' .$_ENV["USER"] . '!';
?>
Допустим, скрипт запустил "bjori"
Результатом выполнения данного примера будет что-то подобное:
Мое имя пользователя: bjori!
Примечания
Замечание:
Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.
- Функция Суперглобальные переменные() - Суперглобальные переменные - это встроенные переменные, которые всегда доступны во всех областях видимости
- Функция $GLOBALS() - Ссылки на все переменные глобальной области видимости
- Функция $_SERVER() - Информация о сервере и среде исполнения
- Функция $_GET() - GET-переменные HTTP
- Функция $_POST() - HTTP POST variables
- Функция $_FILES() - Переменные файлов, загруженных по HTTP
- Функция $_REQUEST() - Переменные HTTP-запроса
- Функция $_SESSION() - Переменные сессии
- Функция $_ENV() - Переменные окружения
- Функция $_COOKIE() - HTTP Куки
- Функция $php_errormsg() - Предыдущее сообщение об ошибке
- Функция $HTTP_RAW_POST_DATA() - Необработанные POST-данные
- Функция $http_response_header() - Заголовки ответов HTTP
- Функция $argc() - Количество аргументов переданных скрипту
- Функция $argv() - Массив переданных скрипту аргументов
Коментарии
If your $_ENV array is mysteriously empty, but you still see the variables when calling getenv() or in your phpinfo(), check your http://us.php.net/manual/en/ini.core.php#ini.variables-order ini setting to ensure it includes "E" in the string.
Please note that writing to $_ENV does not actually set an environment variable, i.e. the variable will not propagate to any child processes you launch (except forked script processes, in which case it's just a variable in the script's memory). To set real environment variables, you must use putenv().
Basically, setting a variable in $_ENV does not have any meaning besides setting or overriding a script-wide global variable. Thus, one should never modify $_ENV except for testing purposes (and then be careful to use putenv() too, if appropriate).
PHP will not trigger any kind of error or notice when writing to $_ENV.