Dutch PHP Conference 2025 - Call For Papers

$_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
153
gabe-php at mudbugmedia dot com
14 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
10 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