Синтаксис:
Функция getenv () может использоваться с аргументом или без него. Когда эта функция использует аргументы, она возвращает строковое значение, а когда функция не использует аргументов, она возвращает массив. Оба синтаксиса этой функции показаны ниже:
строка getenv (строка $ varname [, bool $ local_only = false])Согласно синтаксису выше, функция getenv () может принимать два аргумента. Первый аргумент является обязательным и используется для получения имени переменной среды, необходимой для чтения. Второй аргумент является необязательным со значением по умолчанию FALSE. Когда во втором аргументе используется ИСТИНА, эта функция будет возвращать только локальные переменные среды.
массив getenv ()Согласно синтаксису выше, функция getenv () может быть вызвана без аргументов.
Пример 1. Использование переменной getenv () без аргументов
В следующем примере будет показан список переменных среды установленной версии PHP. Создайте файл PHP со следующим скриптом, чтобы получить список переменных среды с помощью функции getenv ().
Функция getenv () вызывается в скрипте без аргументов, а возвращаемые значения сохраняются в массиве с именем $ env_array. Значения этого массива печатаются с использованием foreach петля.
// Вызов функции getenv () без аргументов$ env_array = getenv ();
эхо "
Список переменных среды со значениями:
";// Выводим все имена переменных среды со значениями
foreach ($ env_array как $ key => $ value)
echo "$ key => $ value
";
?>
Выход:
Следующий вывод появится после запуска скрипта с сервера. Он показывает список всех переменных среды PHP. Этот вывод может различаться в зависимости от версии PHP и операционной системы, в которой работает PHP.
Пример 2: чтение конкретных переменных среды
В следующем примере показан способ чтения определенных значений среды. Создайте файл PHP со следующим скриптом.
Четыре переменные среды печатаются с помощью функции getenv (). "ЯЗЫК" используется в функции getenv () для чтения, какой язык в настоящее время установлен для скрипта PHP. «LC_TIME» используется в функции getenv () для чтения используемого имени форматирования даты и времени в PHP. «APACHE_LOG_DIR» используется в функции getenv () для чтения каталога журналов Apache. "ДОРОЖКА" используется в функции getenv () для чтения значений, хранящихся в пути.
// Выводим название используемого языкаэхо " Язык: " . getenv ("ЯЗЫК"). "
";
// Выводим используемое имя форматирования даты и времени
эхо " Местное время: " . getenv ("LC_TIME"). "
";
// Выводим имя каталога журнала сервера Apache
эхо " Каталог журналов Apache: " . getenv ("APACHE_LOG_DIR"). "
";
// Распечатываем значения переменной PATH
эхо " Значения PATH: " . getenv ("ПУТЬ");
?>
Выход:
Следующий вывод появится после запуска скрипта с сервера. Он показывает значения четырех переменных среды.
Пример 3: определение и чтение переменной среды
Функция getenv () возвращает список встроенных переменных среды PHP. Но если кодировщику необходимо создать какую-либо новую переменную среды для целей программирования, он может это сделать. Функция putenv () может использоваться для создания новой переменной среды со значением. Чтобы создать новую переменную среды, имя переменной, знак равенства (=) и значение переменной заключаются в кавычки, которые будут использоваться в качестве значения аргумента функции putenv (). Но значение любой встроенной переменной окружения нельзя изменить с помощью функции putenv ().
В следующем примере показано, как создать новую переменную среды с помощью функции putenv () и прочитать вновь созданную переменную среды с помощью функции getenv (). Создайте файл PHP со следующим скриптом.
«REMOTE_ADDR» - это встроенное имя переменной среды со значением, которое печатается в начале скрипта. Затем для этой переменной устанавливается новое значение и печатается снова. Новая переменная среды с именем «MY_ENV_VAR» создается со значением и печатается позже.
// Распечатать текущее значение REMOTE_ADDRэхо " Текущий удаленный адрес: " . getenv ("REMOTE_ADDR"). "
";
// Пробуем изменить встроенную переменную REMOTE_ADDR
putenv ("REMOTE_ADDR = localserver");
// Распечатать значение REMOTE_ADDR после использования putenv ()
эхо " Удаленный адрес после изменения: " . getenv ("REMOTE_ADDR"). "
";
// Определение пользовательской переменной среды
putenv ("MY_ENV_VAR = TestSrver");
// Распечатываем пользовательскую переменную окружения
эхо "Значение MY_ENV_VAR: " . getenv ("MY_ENV_VAR");
?>
Выход:
Следующий вывод появится после запуска скрипта с сервера. Это показывает, что значение по умолчанию «REMOTE_ADDR» - 127.0.0.1. Когда значение этой переменной среды будет изменено и напечатано повторно, оно покажет свое предыдущее значение. Это означает, что значение встроенных переменных нельзя изменить. Здесь правильно напечатана вновь созданная переменная среды.
Заключение
Способы чтения встроенных переменных среды и создания новой переменной среды показаны в этом руководстве на различных примерах. Существует суперглобальная переменная с именем $ _ENV, которую также можно использовать для чтения переменной среды PHP. Концепция переменных среды в PHP будет очищена после прочтения этого руководства, и программисты PHP смогут использовать эти переменные в своих скриптах.