$_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; для доступа к ней внутри метода или функции.

Смотрите также

Коментарии

When running a PHP program under the command line, the $_SERVER["SERVER_NAME"] variable does not contain the hostname. However, the following works for me under Unix/Linux and Windows:

<?php
if (isset($_ENV["HOSTNAME"]))
   
$MachineName $_ENV["HOSTNAME"];
else if  (isset(
$_ENV["COMPUTERNAME"]))
   
$MachineName $_ENV["COMPUTERNAME"];
else 
$MachineName "";
?>
2009-03-20 07:48:18
http://php5.kiev.ua/manual/ru/reserved.variables.environment.html
If you wish to define an environment variable in your Apache vhost file, use the directive SetEnv.

SetEnv varname "variable value"

It is important to note that this new variable will appear in $_SERVER, not $_ENV.
2010-04-01 12:33:33
http://php5.kiev.ua/manual/ru/reserved.variables.environment.html
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.
2010-05-26 12:11:25
http://php5.kiev.ua/manual/ru/reserved.variables.environment.html
Автор:
If $_ENV is empty because variables_order does not include it, it will be filled with values fetched by getenv().

For example, when calling getenv("REMOTE_ADDR"), $_ENV['REMOTE_ADDR'] will be defined as well (if such an environment variable exists).
2010-09-09 13:36:25
http://php5.kiev.ua/manual/ru/reserved.variables.environment.html
Comments for this page seem to indicate getenv() returns environment variables in all cases.

For getenv() to work, php.ini variables_order must contain 'E'.
2012-02-07 16:07:36
http://php5.kiev.ua/manual/ru/reserved.variables.environment.html
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.
2014-04-08 17:25:21
http://php5.kiev.ua/manual/ru/reserved.variables.environment.html
Автор:
If you're using php-fpm you might want to set `clean_env = no`. This setting cleans the environment variables by default, meaning that PHP would be started with a clean environment.
2017-04-28 12:39:17
http://php5.kiev.ua/manual/ru/reserved.variables.environment.html

    Поддержать сайт на родительском проекте КГБ