(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 headers, 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á as mesmas informações, podendo algumas serem omitidas ou adicionadas em relação a 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 rodando o PHP na linha de comando a maioria dessas informações não estarão disponíveis ou não terão qualquer sentido.
Além dos valores listados a seguir, o PHP irá criar itens adicionais com valores dos headers de requisição. Esses itens serão prefixados com HTTP_
seguido do nome do header, capitalizados e com underlines ao invés de hifens. Por exemplo, o header Accept-Language
estará disponível como $_SERVER['HTTP_ACCEPT_LANGUAGE']
.
'CGI/1.1'
. Nota: No Apache 2, você deve definir
UseCanonicalName = On
eServerName
. 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 dependam de segurança.
'HTTP/1.0'
; 'GET'
', ''HEAD'
', ''POST'
' ou ''PUT'
'. Nota:
O script PHP é terminado depois de enviado cabeçalhos (significa depois de produzir alguma saída sem saída do buffer) se o método da requisição for
HEAD
.
Nota: Seu servidor web precisa estar configurado para criar essa variável. Por exemplo, no Apache você precisa colocar um
HostnameLookups On
dentro do httpd.conf. Veja também gethostbyaddr().
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.
'80'
'. Utilizando SSL, entretanto, mudará esse valor para a porta de comunicação segura HTTP. Nota: Utilizando o Apache 2, você deve configurar
UseCanonicalName = On
, assim comoUseCanonicalPhysicalPort = On
para obter a porta física (real), caso contrário, este valor pode ser falsificado 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.
Nota: Usuários do Apache 2 podem usar
AcceptPathInfo = On
dentro do httpd.conf para definir o PATH_INFO.
/index.html
'. /some/stuff
Exemplo #1 Exemplo da $_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.