php

Використання функції getenv () у PHP

Використання функції getenv () у PHP
Змінні середовища використовуються в PHP для налаштування програми та динамічного отримання різних типів даних із сервера. Повноваження бази даних, ключі API тощо., відображаються коду через змінну середовища замість використання будь-якого конфігураційного файлу. Коли запускається будь-який PHP-скрипт, він успадкує всі необхідні змінні середовища від сервера. Існує два способи читання змінних середовища в PHP. Один є getenv () функція, а іншим є $ _ENV масив. Використання функції getenv () показано в цьому посібнику.

Синтаксис:

Функцію getenv () можна використовувати з аргументом або без нього. Коли ця функція використовує аргументи, вона повертає значення рядка, а коли функція не використовує аргумент, вона повертає масив. Обидва синтаксиси цієї функції показані нижче:

рядок getenv (рядок $ varname [, bool $ local_only = false])

Відповідно до наведеного синтаксису, функція getenv () може приймати два аргументи. Перший аргумент є обов'язковим і використовується для прийняття імені змінної середовища, яке потрібно прочитати. Другий аргумент необов’язковий із значенням за замовчуванням FALSE. Коли TRUE використовується у другому аргументі, ця функція повертає лише змінні локального середовища.

масив getenv ()

Відповідно до наведеного синтаксису, функцію getenv () можна викликати без будь-яких аргументів.

Приклад 1: Використання змінної getenv () без аргументу

Наступний приклад покаже список змінних середовища встановленої версії PHP. Створіть PHP-файл із наведеним нижче сценарієм, щоб отримати список змінних середовища за допомогою функції getenv ().

Функція getenv () викликається без будь-якого аргументу в сценарії, а повернені значення зберігаються в масиві з іменем $ env_array. Значення цього масиву друкуються з використанням передній петля.

// Виклик функції 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 = локальний сервер");
// Вивести значення 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 зможуть використовувати ці змінні у своїх скриптах.

Топ 5 карт для захоплення ігор
Ми всі бачили і любили потокові ігри на YouTube. PewDiePie, Jakesepticye та Markiplier - лише деякі з найкращих геймерів, які заробили мільйони, заван...
Як розробити гру на Linux
Десять років тому не так багато користувачів Linux передбачали, що їх улюблена операційна система колись стане популярною ігровою платформою для комер...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...