परिचय
$_SERVER एक सुपरग्लोबल है जो HTTP हेडर्स, पथ और स्क्रिप्ट स्थान आदि के बारे में जानकारी रखता है। इस सहयोगी सरणी में सर्वर और निष्पादन वातावरण से संबंधित सभी जानकारी उपलब्ध है। इस सरणी में अधिकांश प्रविष्टियाँ वेब सर्वर द्वारा भरी जाती हैं।
PHP 5.4.0 से पहले के संस्करणों में $HTTP_SERVER_VARS में समान जानकारी थी लेकिन अब इसे हटा दिया गया है। इस सरणी के कुछ प्रमुख सदस्य निम्नलिखित हैं:
प्रमुख $_SERVER इंडेक्स
- PHP_SELF - वर्तमान में निष्पादित स्क्रिप्ट का फ़ाइलनाम संग्रहीत करता है। उदाहरण के लिए, लोकल सर्वर के डॉक्यूमेंट रूट के टेस्ट फ़ोल्डर में एक स्क्रिप्ट अपना पथ इस प्रकार लौटाती है:
/test/testscript.php - SERVER_ADDR - वह IP पता लौटाता है जिसके तहत वर्तमान स्क्रिप्ट निष्पादित हो रही है।
- SERVER_NAME - सर्वर होस्ट का नाम जिसके तहत वर्तमान स्क्रिप्ट निष्पादित हो रही है। स्थानीय रूप से चल रहे सर्वर के मामले में, localhost लौटाया जाता है।
- QUERY_STRING - एक क्वेरी स्ट्रिंग & सिंबल द्वारा अलग किए गए key=value जोड़े की स्ट्रिंग है और URL के बाद ? सिंबल से जुड़ी होती है।
- REQUEST_METHOD - URL तक पहुँचने के लिए उपयोग की जाने वाली HTTP अनुरोध विधि, जैसे GET, POST, PUT, DELETE।
- DOCUMENT_ROOT - सर्वर पर कॉन्फ़िगर की गई डॉक्यूमेंट रूट डायरेक्टरी का नाम लौटाता है। XAMPP अपाचे सर्वर पर यह htdocs लौटाता है।
- HTTP_USER_AGENT - पृष्ठ तक पहुँचने वाले यूजर एजेंट (ब्राउज़र) को दर्शाने वाली स्ट्रिंग।
- REMOTE_ADDR - वह IP पता जिससे उपयोगकर्ता वर्तमान पृष्ठ देख रहा है।
- SERVER_PORT - वह पोर्ट नंबर जिस पर वेब सर्वर इनकमिंग अनुरोध सुन रहा है। डिफ़ॉल्ट 80 है।
उदाहरण
उदाहरण: सभी सर्वर वेरिएबल्स सूचीबद्ध करना
<?php
foreach ($_SERVER as $k => $v)
echo $k . "=>" . $v . "
";
?>
सभी सर्वर वेरिएबल्स की सूची (नमूना आउटपुट):
MIBDIRS=>C:/xampp/php/extras/mibs MYSQL_HOME=>\xampp\mysql\bin OPENSSL_CONF=>C:/xampp/apache/bin/openssl.cnf PHP_PEAR_SYSCONF_DIR=>\xampp\php PHPRC=>\xampp\php TMP=>\xampp\tmp HTTP_HOST=>localhost HTTP_CONNECTION=>keep-alive HTTP_CACHE_CONTROL=>max-age=0 HTTP_DNT=>1 HTTP_UPGRADE_INSECURE_REQUESTS=>1 HTTP_USER_AGENT=>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36... HTTP_ACCEPT=>text/html,application/xhtml+xml,application/xml;q=0.9,... HTTP_SEC_FETCH_SITE=>none HTTP_SEC_FETCH_MODE=>navigate HTTP_SEC_FETCH_USER=>?1 HTTP_SEC_FETCH_DEST=>document HTTP_ACCEPT_ENCODING=>gzip, deflate, br HTTP_ACCEPT_LANGUAGE=>en-US,en;q=0.9,mr;q=0.8 PATH=>C:\python37\Scripts\;C:\python37\;C:\Windows\system32;... SystemRoot=>C:\Windows COMSPEC=>C:\Windows\system32\cmd.exe PATHEXT=>.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW WINDIR=>C:\Windows SERVER_SIGNATURE=>Apache/2.4.41 (Win64) OpenSSL/1.0.2s PHP/7.1.32 Server at localhost Port 80 SERVER_SOFTWARE=>Apache/2.4.41 (Win64) OpenSSL/1.0.2s PHP/7.1.32 SERVER_NAME=>localhost SERVER_ADDR=>::1 SERVER_PORT=>80 REMOTE_ADDR=>::1 DOCUMENT_ROOT=>C:/xampp/htdocs REQUEST_SCHEME=>http CONTEXT_PREFIX=> CONTEXT_DOCUMENT_ROOT=>C:/xampp/htdocs SERVER_ADMIN=>postmaster@localhost SCRIPT_FILENAME=>C:/xampp/htdocs/testscript.php REMOTE_PORT=>49475 GATEWAY_INTERFACE=>CGI/1.1 SERVER_PROTOCOL=>HTTP/1.1 REQUEST_METHOD=>GET QUERY_STRING=> REQUEST_URI=>/testscript.php SCRIPT_NAME=>/testscript.php PHP_SELF=>/testscript.php REQUEST_TIME_FLOAT=>1599118525.327 REQUEST_TIME=>1599118525