`$_SERVER` 是 PHP 內建陣列,包含 HTTP 標頭、腳本路徑、伺服器環境等資訊,由 Web 伺服器建立。以下整理開發最常用的鍵值與說明:
| 鍵名 | 說明 | 範例 |
|---|---|---|
PHP_SELF | 當前執行腳本路徑(相對 Document Root) | /index.php |
argv | 傳遞給腳本的參數(CLI 模式) | array('arg1', 'arg2') |
argc | 命令列參數個數 | 2 |
GATEWAY_INTERFACE | CGI 規範版本 | CGI/1.1 |
SERVER_NAME | 伺服器主機名稱 | example.com |
SERVER_SOFTWARE | 伺服器識別字串 | Apache/2.4.41 |
SERVER_PROTOCOL | 請求協議名稱與版本 | HTTP/1.1 |
REQUEST_METHOD | 請求方法 | GET, POST, PUT |
QUERY_STRING | 查詢字串(? 後內容) | id=123&name=test |
DOCUMENT_ROOT | 腳本所在文件根目錄 | /var/www/html |
HTTP_ACCEPT | Accept 標頭 | text/html,application/xhtml+xml |
HTTP_ACCEPT_CHARSET | Accept-Charset 標頭 | utf-8, iso-8859-1 |
HTTP_ACCEPT_ENCODING | Accept-Encoding 標頭 | gzip, deflate |
HTTP_ACCEPT_LANGUAGE | Accept-Language 標頭 | zh-TW,zh;q=0.9,en;q=0.8 |
HTTP_CONNECTION | Connection 標頭 | Keep-Alive |
HTTP_HOST | Host 標頭 | example.com:8080 |
HTTP_REFERER | 來源頁面 URL(不可完全信賴) | https://google.com/search?q=php |
HTTP_USER_AGENT | User-Agent 標頭 | Mozilla/5.0 ... |
HTTPS | HTTPS 請求時為非空值(通常為 on) | on |
REMOTE_ADDR | 用戶端 IP 位址 | 203.0.113.45 |
REMOTE_HOST | 用戶端主機名(需啟用 DNS 反查) | user.isp.com |
REMOTE_PORT | 用戶端連接埠 | 54321 |
SCRIPT_FILENAME | 當前腳本絕對路徑 | /var/www/html/index.php |
SERVER_ADMIN | 伺服器管理員 Email | admin@example.com |
SERVER_PORT | 伺服器監聽埠 | 80, 443 |
SERVER_SIGNATURE | 伺服器版本與虛擬主機名字串 | Apache/2.4.41 (Ubuntu) Server at example.com Port 80 |
PATH_TRANSLATED | 腳本在檔案系統的基礎路徑(非 Document Root) | /var/www/html/index.php |
SCRIPT_NAME | 當前腳本路徑(含前導 /) | /index.php |
REQUEST_URI | 請求 URI(含查詢字串) | /index.php?id=123 |
PHP_AUTH_USER | HTTP 認證用戶名(Apache 模組模式) | username |
PHP_AUTH_PW | HTTP 認證密碼(Apache 模組模式) | password |