CakeFest 2024: The Official CakePHP Conference

$_ENV

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_ENVПеременные окружения

Описание

Ассоциативный массив (array) значений, переданных скрипту через переменные окружения.

Эти значения импортируются в глобальное пространство имён PHP из системных переменных окружения, в котором запущен парсер PHP. Большинство значений передаётся из командной оболочки, под которой запущен PHP, и в разных системах, вероятно, используются разные типы оболочек поэтому окончательный список невозможно представить. Пожалуйста, изучите документацию к вашей командной оболочке для получения списка переменных окружения.

Некоторые переменные окружения включают CGI-переменные, причём их наличие не зависит от того, запущен ли PHP как модуль сервера или как препроцессор CGI.

Примеры

Пример #1 Пример использования $_ENV

<?php
echo 'Моё имя пользователя: ' .$_ENV["USER"] . '!';
?>

Допустим, скрипт запустил "bjori"

Вывод приведённого примера будет похож на:

Моё имя пользователя: bjori!

Примечания

Замечание:

Это «суперглобальная» или автоматическая глобальная переменная. Это просто означает, что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

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

add a note

User Contributed Notes 2 notes

up
166
gabe-php at mudbugmedia dot com
13 years ago
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.
up
5
aasasdasdf at yandex dot ru
9 years ago
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.
To Top