Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

$_SERVER trong PHP

Giới thiệu

$_SERVER là superglobal chứa thông tin về HTTP headers, đường dẫn và vị trí script, v.v. Tất cả thông tin liên quan đến server và môi trường thực thi đều có trong associative array này. Hầu hết các entry trong mảng này được populate bởi web server.

PHP phiên bản trước 5.4.0 chứa $HTTP_SERVER_VARS với thông tin tương tự nhưng đã bị xóa. Dưới đây là các thành viên nổi bật:

PHP_SELF

Lưu tên file script đang thực thi. Ví dụ: script trong thư mục test của document root local server trả về đường dẫn:

<?php echo $_SERVER['PHP_SELF']; ?>

Kết quả với URL https://localhost/test/testscript.php:

/test/testscript.php

Các key quan trọng khác

  • SERVER_ADDR - IP address của server chạy script hiện tại.
  • SERVER_NAME - Tên host server. Localhost trả về localhost.
  • QUERY_STRING - Chuỗi query (cặp key=value phân cách bằng & sau dấu ?). Ví dụ: https://localhost/testscript?name=xyz&age=20.
  • REQUEST_METHOD - HTTP method: GET, POST, PUT, DELETE. URL với query string dùng GET.
  • DOCUMENT_ROOT - Thư mục cấu hình làm document root. XAMPP Apache trả về htdocs (C:/xampp/htdocs).
  • HTTP_USER_AGENT - Chuỗi user agent (trình duyệt) truy cập trang.
  • REMOTE_ADDR - IP address của máy client xem trang hiện tại.
  • SERVER_PORT - Port web server lắng nghe request. Mặc định 80.

Ví dụ liệt kê tất cả server variables

<?php
foreach ($_SERVER as $k => $v) echo $k . "=>" . $v . "
"; ?>

Kết quả (ví dụ)

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_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_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