परिचय
$_ENV PHP में एक और सुपरग्लोबल एसोसिएटिव सरणी है। यह वर्तमान स्क्रिप्ट के लिए उपलब्ध पर्यावरण चर संग्रहीत करता है। $HTTP_ENV_VARS में भी वही जानकारी होती है, लेकिन यह सुपरग्लोबल नहीं है, और अब डिप्रिकेटेड हो चुका है।
पर्यावरण चर ग्लोबल नेमस्पेस में आयात किए जाते हैं। इनमें से अधिकांश वेरिएबल उस शेल द्वारा प्रदान किए जाते हैं जिसके तहत PHP पार्सर चल रहा है। इसलिए, पर्यावरण चर की सूची विभिन्न प्लेटफॉर्म पर अलग-अलग हो सकती है।
यह सरणी CGI वेरिएबल भी शामिल करती है चाहे PHP सर्वर मॉड्यूल या CGI प्रोसेसर के रूप में चल रहा हो।
PHP लाइब्रेरी में getenv() फ़ंक्शन है जो सभी पर्यावरण चर की सूची या किसी विशिष्ट पर्यावरण चर का मान प्राप्त करता है।
getenv
निम्न स्क्रिप्ट सभी उपलब्ध पर्यावरण चर के मान प्रदर्शित करती है:
<?php
$arr = getenv();
foreach ($arr as $key => $val) {
echo "$key=>$val ";
}
?>
विशिष्ट वेरिएबल का मान प्राप्त करने के लिए इसके नाम को getenv() फ़ंक्शन के आर्गुमेंट के रूप में उपयोग करें:
उदाहरण
<?php
echo "Path: " . getenv("PATH");
?>
आउटपुट
Path: /usr/local/bin/factor:/root/.sdkman/candidates/kotlin/current/bin:/usr/GNUstep/System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/scriba/bin:/usr/local/smlnj/bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/local/dart/bin:/usr/libexec/sdcc:/usr/local/icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/pash/Source/PashConsole/bin/Debug/:.:/root/.sdkman/candidates/kotlin/current/bin:/usr/bin:/sbin:/bin
PHP में putenv() फ़ंक्शन भी है जो एक नया पर्यावरण चर बनाने के लिए है। पर्यावरण चर केवल वर्तमान रिक्वेस्ट की अवधि के लिए मौजूद रहेगा।
कुछ पर्यावरण चर के मान बदलने से बचना चाहिए। डिफ़ॉल्ट रूप से, उपयोगकर्ता केवल PHP_ से शुरू होने वाले पर्यावरण चर सेट कर पाएंगे (उदाहरण: PHP_FOO=BAR)।
safe_mode_protected_env_vars डायरेक्टिव php.ini में पर्यावरण चर की कॉमा-सीमित सूची होती है, जिन्हें अंतिम उपयोगकर्ता putenv() का उपयोग करके बदल नहीं पाएंगे।
putenv
उदाहरण
<?php
putenv("PHP_TEMPUSER=GUEST");
echo "Temp user: " . getenv("PHP_TEMPUSER");
?>
आउटपुट
Temp user: GUEST