PHP $_SERVER常见参数及含义

常用全局变量及含义

参数名称 含义 示例
$_SERVER['SERVER_NAME'] 当前请求的服务器主机名(域名)。 example.com
$_SERVER['SERVER_ADDR'] 当前服务器的 IP 地址。 192.168.1.1
$_SERVER['REMOTE_ADDR'] 发起请求的客户端 IP 地址。 203.0.113.45
$_SERVER['REQUEST_METHOD'] 请求的方式(GET、POST 等)。 POST
$_SERVER['REQUEST_URI'] 当前请求的 URI(不包含域名部分)。 /index.php?id=1
$_SERVER['QUERY_STRING'] URL 中的查询字符串(问号后部分)。 id=1&name=John
$_SERVER['SCRIPT_NAME'] 当前执行脚本的路径。 /index.php
$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径。 /var/www/html/index.php
$_SERVER['DOCUMENT_ROOT'] 当前脚本所在的根目录路径。 /var/www/html
$_SERVER['HTTP_USER_AGENT'] 客户端浏览器信息(User-Agent)。 Mozilla/5.0 ... Chrome/58.0.3029.110 Safari/537.36
$_SERVER['HTTP_REFERER'] 前一个页面的 URL(来源页面)。 http://example.com/previous-page
$_SERVER['HTTP_HOST'] 请求中的主机名部分(域名或 IP 地址)。 www.example.com
$_SERVER['PHP_SELF'] 当前脚本的路径,相对于根目录。 /index.php
$_SERVER['SERVER_PORT'] 当前请求的服务器端口号。 80(HTTP),443(HTTPS)
$_SERVER['HTTPS'] 当前请求是否使用 HTTPS 协议(onoff)。 on
$_SERVER['REMOTE_PORT'] 客户端使用的端口号。 53222
$_SERVER['REQUEST_TIME'] 请求开始时的时间戳(Unix 时间戳)。 1609459200
$_SERVER['REQUEST_TIME_FLOAT'] 请求开始时的时间戳(精确到微秒)。 1609459200.123456
$_SERVER['SERVER_PROTOCOL'] 当前请求使用的协议版本。 HTTP/1.1
$_SERVER['SERVER_SOFTWARE'] 当前 Web 服务器的软件信息。 Apache/2.4.41 (Unix)
$_SERVER['HTTP_ACCEPT'] 客户端支持的 MIME 类型。 text/html,application/xhtml+xml,application/xml;q=0.9
$_SERVER['HTTP_ACCEPT_LANGUAGE 客户端支持的语言列表。 en-US,en;q=0.9,fr;q=0.8
$_SERVER['HTTP_COOKIE'] 客户端发送的 Cookies 字符串。 user=JohnDoe; session_id=abc123
$_SERVER['HTTP_X_FORWARDED_FOR 通过代理转发的客户端原始 IP 地址。 203.0.113.45

余全局变量及含义

参数名称 含义 示例
$_SERVER['GATEWAY_INTERFACE'] 当前使用的 CGI 规范版本。 CGI/1.1
$_SERVER['REMOTE_USER'] 如果服务器启用了 HTTP 基本认证,返回当前登录用户名。 john_doe
$_SERVER['SERVER_SIGNATURE'] Web 服务器的签名信息,包括版本号和配置。 Apache/2.4.41 (Unix) Server at example.com Port 80
$_SERVER['HTTP_CONNECTION'] 请求中的连接信息,指定是否保持连接或关闭连接。 keep-alive
$_SERVER['PHP_AUTH_DIGEST'] 如果使用 HTTP Digest 认证,返回认证信息字符串。 Digest username="Mufasa", realm="[email protected]", ...
$_SERVER['REQUEST_SCHEME'] 请求使用的协议类型(httphttps)。 https
$_SERVER['DOCUMENT_URI'] 当前请求的 URI,相对于文档根目录。 /index.php
$_SERVER['PHP_AUTH_USER'] 启用了 HTTP 基本认证时返回的用户名。 admin
$_SERVER['PHP_AUTH_PW'] 启用了 HTTP 基本认证时返回的密码。 password123
$_SERVER['HTTP_X_FORWARDED_PROTO 如果通过代理转发,返回请求使用的协议(httphttps)。 https
$_SERVER['REDIRECT_STATUS'] 在重定向时保存的状态代码。 200
$_SERVER['HTTP_X_REQUESTED_WITH AJAX 请求时,返回值为 XMLHttpRequest XMLHttpRequest
$_SERVER['SERVER_ADMIN'] Web 服务器管理员的联系邮箱地址。 [email protected]
$_SERVER['HTTP_X_FORWARDED_HOST 如果通过代理转发,返回原始的 Host 信息。 www.example.com
$_SERVER['SERVER_PORT_SECURE] 检测服务器是否使用了安全端口(HTTPS)。 10
$_SERVER['HTTP_ACCEPT_ENCODING 返回客户端支持的编码类型。 gzip, deflate, br
$_SERVER['HTTP_CACHE_CONTROL'] 返回请求中的 Cache-Control 头信息,指定缓存指令。 no-cache
$_SERVER['HTTP_PRAGMA'] 返回请求中的 Pragma 头信息,指定缓存行为。 no-cache
$_SERVER['CONTENT_TYPE'] 如果请求包含实体体,返回其 Content-Type 值。 application/json
$_SERVER['HTTP_IF_MODIFIED_SINCE 检测客户端缓存的资源是否修改过,用于 HTTP 条件请求。 Wed, 21 Oct 2020 07:28:00 GMT
$_SERVER['HTTP_IF_NONE_MATCH'] 返回客户端请求的资源的 ETag(实体标识符)。 "34b1239abcde"
$_SERVER['SCRIPT_URI'] 当前请求的完整 URI。 http://example.com/index.php
$_SERVER['SCRIPT_URL'] 当前请求的 URL 路径部分。 /index.php
$_SERVER['REQUEST_FILENAME'] 当前请求的实际文件路径。 /var/www/html/index.php
$_SERVER['SERVER_NAME_ALIAS'] 如果配置了别名,返回主机的别名。 alias.example.com
$_SERVER['PATH_INFO'] 当前脚本之后附加的路径信息(如果存在)。 /extra/path/info
$_SERVER['ORIG_PATH_INFO'] 原始路径信息(与 PATH_INFO 类似,但由某些服务器设置)。 /original/path/info
$_SERVER['HTTP_IF_MODIFIED_SINCE'] 请求中的 If-Modified-Since 头部,通常用于缓存验证。 Wed, 21 Oct 2015 07:28:00 GMT
$_SERVER['HTTP_IF_NONE_MATCH'] 请求中的 If-None-Match 头部,用于缓存验证(Etag 对比)。 "5d8c72a5edda4"
$_SERVER['SERVER_PROTOCOL'] 返回请求使用的协议(如 HTTP/1.1HTTP/2)。 HTTP/1.1
$_SERVER['SCRIPT_GROUP'] 当前脚本运行的用户组。 www-data
$_SERVER['SCRIPT_USER'] 当前脚本运行的用户。 apache
$_SERVER['CONTENT_LENGTH'] 请求体的长度(字节)。 348
$_SERVER['HTTPS_KEYSIZE'] 如果使用 HTTPS,返回密钥的大小(位)。 256
$_SERVER['HTTPS_SECRETKEYSIZE'] 如果使用 HTTPS,返回私钥的大小(位)。 2048
$_SERVER['HTTP_EXPECT'] 返回客户端期望的请求行为。 100-continue
$_SERVER['HTTP_AUTHORIZATION'] 如果启用了 HTTP 认证,返回认证信息。 Basic dXNlcjpwYXNzd29yZA==
$_SERVER['LOGNAME'] 当前登录用户的名称(Unix 系统相关)。 apache
$_SERVER['PWD'] 当前工作目录(Unix 系统相关)。 /var/www/html
$_SERVER['SERVER_ADDR_LOCAL'] 服务器的本地网络地址(如果有多张网卡)。 192.168.0.1