$_SERVER
是一个预定义的全局数组,它包含了有关头、路径和脚本位置等服务器信息。在 PHP 中,您不能直接设置 $_SERVER
数组的值,因为它是由 Web 服务器自动填充的。但是,您可以根据需要修改 $_SERVER
数组中的某些值,这些值将自动传递给脚本。
以下是一些常见的 $_SERVER
元素及其用途:
$_SERVER['HTTP_HOST']
:当前请求的主机名(例如 www.example.com)。$_SERVER['HTTP_USER_AGENT']
:客户端浏览器的信息(例如 Mozilla/5.0)。$_SERVER['REQUEST_URI']
:当前请求的 URI(例如 /index.php)。$_SERVER['SCRIPT_NAME']
:当前执行脚本的文件名(例如 index.php)。$_SERVER['SCRIPT_FILENAME']
:当前执行脚本的完整路径(例如 /var/www/html/index.php)。$_SERVER['DOCUMENT_ROOT']
:Web 服务器的文档根目录(例如 /var/www/html)。$_SERVER['SERVER_NAME']
:服务器的主机名(例如 www.example.com)。$_SERVER['SERVER_PORT']
:服务器监听的端口号(例如 80 或 443)。$_SERVER['HTTPS']
:指示当前连接是否为 HTTPS(例如 on 或 off)。
如果您需要修改这些值,可以直接操作数组。但是,请注意,这可能会导致意外的行为,因为其他依赖于这些值的代码可能会受到影响。在大多数情况下,您不需要修改这些值,因为 Web 服务器会自动处理它们。
如果您需要添加自定义的 $_SERVER
值,可以创建一个新的全局数组并将其命名为 $_SERVER
。但是,请注意,这可能会导致与其他代码中的 $_SERVER
数组冲突。例如:
<?php
$custom_server = array(
'HTTP_HOST' => 'www.example.com',
'HTTP_USER_AGENT' => 'Mozilla/5.0',
// 添加其他自定义值
);
$_SERVER = $custom_server;
?>
这将覆盖默认的 $_SERVER
数组,但请谨慎使用这种方法,因为它可能会导致其他代码中的问题。