(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
$_SERVER — Informação do servidor e ambiente de execução
$_SERVER é um array contendo informação como cabeçalhos, caminhos, e outras informações do script. As informações nesse array são criadas pelo servidor web específico, e portanto não há garantias que sempre existirão as mesmas informações, podendo algumas serem omitidas ou adicionadas em relação à lista a seguir. Entretanto, a maioria dessas variáveis são documentadas na » especificação CGI/1.1, e estão normalmente definidas.
Nota:
Quando PHP é executado na linha de comando a maioria dessas informações não estará disponível ou não terá qualquer sentido.
Além dos valores listados a seguir, o PHP irá criar itens adicionais
com valores dos cabeçalhos de requisição. Esses itens serão prefixados com
HTTP_ seguido do nome do cabeçalho,
capitalizados e com sublinhados ao invés de hifens.
Por exemplo, o cabeçalho Accept-Language estará disponível
como $_SERVER['HTTP_ACCEPT_LANGUAGE'].
O nome do arquivo do script que está sendo executado, relativo à raiz do documento. Por exemplo, $_SERVER['PHP_SELF'] em um script no endereço http://example.com/foo/bar.php seria /foo/bar.php. A constante __FILE__ contém o caminho completo e nome do arquivo atual (possivelmente incluído).
Se o PHP estiver sendo executado em linha de comando, esta variável contém o nome do script.
Array de argumentos passado para o script. Quando o script é executado na linha de comando, isto permite um acesso aos parâmetros de linha de comando no estilo da linguagem C. Quando chamado via método GET, ele conterá a string da consulta.
Contém o número de parâmetros da linha de comando passados para o script (se executando da linha de comando).
O número de revisão da especificação CGI que o servidor está utilizando,
por exemplo: 'CGI/1.1'.
O endereço IP do servidor onde está o script em execução.
O nome host do servidor onde o script atual é executado. Se o script estiver sendo executado em um host virtual, este será o valor definido para esse host.
Nota:
No Apache 2, você deve definir
UseCanonicalName = OneServerName. Caso contrário, este valor refletirá o nome do servidor fornecido pelo cliente, que pode ser forjado. Não é seguro confiar neste valor em contextos que dependem de segurança.
A string de identificação do servidor, fornecida nos cabeçalhos ao responder a requisições.
Nome e número da revisão do protocolo de informação pelo qual a
página foi requerida, por exemplo'HTTP/1.0';
Contém o método de requisição utilizado para acessar a página. Geralmente ''GET'',
''HEAD'', ''POST'' ou ''PUT''.
Nota:
O script PHP é terminado depois dos cabeçalhos enviados (ou seja, depois de produzir alguma saída sem saída do buffer) se o método da requisição for
HEAD.
O timestamp de quando o PHP começou a processar a requisição.
O timestamp de quando o PHP começou a processar a requisição, com precisão em microssegundos.
A string de consulta, se houver, pela qual a página foi acessada.
O diretório raiz sob o qual o script atual é executado, como definido no arquivo de configuração do servidor.
Definido para um valor não vazio se o script foi requisitado através do protocolo HTTPS.
O endereço IP de onde o usuário está visualizando a página atual.
O nome do host que o usuário utilizou para chamar a página atual. O DNS reverso do REMOTE_ADDR do usuário.
Nota:
O servidor web precisa estar configurado para criar essa variável. Por exemplo, no Apache é necessário inserir um
HostnameLookups Ondentro do httpd.conf. Veja também gethostbyaddr().
A porta TCP na máquina do usuário utilizada para comunicação com o servidor web.
O usuário autenticado.
O usuário autenticado utilizado se a requisição foi redirecionada internamente.
O caminho absoluto do script atualmente em execução.
Nota:
Se o script for executado pela CLI com um caminho relativo, como file.php ou ../file.php, $_SERVER['SCRIPT_FILENAME'] irá conter o caminho relativo especificado pelo usuário.
O valor fornecido pela diretiva SERVER_ADMIN (do Apache) no arquivo de configuração do servidor. Se o script está sendo executado em um host virtual, este será o valor definido para esse host virtual.
A porta na máquina servidora utilizada pelo servidor web
para comunicação. Como padrão, este valor é ''80''.
Utilizando SSL, entretanto, esse valor será alterado para a porta HTTP de comunicação
segura.
Nota:
Utilizando o Apache 2, deve-se configurar
UseCanonicalName = On, assim comoUseCanonicalPhysicalPort = Onpara se obter a porta física (real), caso contrário, este valor pode ser forjado e pode, ou não, retornar como valor a porta física. Não é seguro confiar neste valor em contextos que dependem de segurança.
String contendo a versão do servidor e nome do host virtual que é adicionado às páginas geradas no servidor, se ativo.
O caminho real do script relativo ao sistema de arquivos (não a raiz dos documentos), depois de realizados todos os mapeamentos de caminhos (virtuais para reais).
Nota:
Usuários do Apache 2 podem usar
AcceptPathInfo = Ondentro do httpd.conf para definir o PATH_INFO.
Contém o caminho completo do script atual. Útil para páginas que precisam apontar para elas mesmas (dinamicamente). A constante __FILE__ contém o caminho completo e nome do arquivo atual (mesmo se tiver sido incluído).
O URI fornecido para acessar a página atual, por
exemplo, '/index.html'.
Quando executando no Apache como módulo fazendo autenticação HTTP, esta variável é definida para o cabeçalho 'Authorization' enviado pelo cliente (que então pode ser usado para fazer a validação apropriada).
Ao efetuar autenticação HTTP, esta variável estará definida com o nome de usuário fornecido pelo usuário.
Ao efetuar autenticação HTTP, esta variável estará definida com a senha fornecida pelo usuário.
Ao efetuar autenticação HTTP, esta variável estará definida com o tipo de autenticação utilizado.
Contém qualquer informação fornecida pelo usuário, se disponível,
que leve ao nome do script atual, precedendo a string
de consulta. Por exemplo, se o script atual fosse acessado via a URL
http://www.example.com/php/path_info.php/some/stuff?foo=bar,
então $_SERVER['PATH_INFO'] teria como
valor /some/stuff
Versão original do 'PATH_INFO' antes de ser processada pelo PHP.
Exemplo #1 Exemplo de $_SERVER
<?php
echo $_SERVER['SERVER_NAME'];
?>O exemplo acima produzirá algo semelhante a:
www.example.com
Nota:
Esta é uma variável 'superglobal' ou variável global automática. Isso significa simplesmente que ela está disponível em todos os escopos de um script. Não há necessidade de usar global $variable; para acessá-la dentro de funções ou métodos.