$ SERVER

Från Wiki.linux.se
Version från den 27 augusti 2024 kl. 14.02 av Admin (diskussion | bidrag) (→‎Se även)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

$_SERVER

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_SERVER — Server- och exekveringsmiljöinformation

Beskrivning

$_SERVER är en array som innehåller information som headers, sökvägar och skriptets placeringar. Posterna i denna array skapas av webbservern, vilket innebär att det inte finns någon garanti för att varje webbserver kommer att tillhandahålla dessa; servrar kan utelämna vissa eller tillhandahålla andra som inte listas här. De flesta av dessa variabler ingår dock i » CGI/1.1-specifikationen och är sannolikt definierade.

Notera: När PHP körs från kommandoraden kommer de flesta av dessa poster inte att vara tillgängliga eller ha någon betydelse.

Förutom de element som listas nedan kommer PHP att skapa ytterligare element med värden från förfrågningsrubriker. Dessa poster kommer att heta `HTTP_` följt av rubrikens namn, versaliserat och med understreck istället för bindestreck. Till exempel skulle rubriken "Accept-Language" vara tillgänglig som `$_SERVER['HTTP_ACCEPT_LANGUAGE']`.

Indices

  • PHP_SELF: Filnamnet för det aktuella skriptet som körs, relativt dokumentroten. Till exempel, `$_SERVER['PHP_SELF']` i ett skript på adressen `http://example.com/foo/bar.php` skulle vara `/foo/bar.php`. Konstanten `__FILE__` innehåller hela sökvägen och filnamnet för den aktuella (dvs. inkluderade) filen. Om PHP körs som ett kommandoradsprogram innehåller denna variabel skriptnamnet.
  • argv: Array av argument som skickats till skriptet. När skriptet körs från kommandoraden ger detta C-liknande åtkomst till kommandoradsparametrarna. När det anropas via GET-metoden innehåller detta query-strängen.
  • argc: Innehåller antalet kommandoradsparametrar som skickats till skriptet (om det körs från kommandoraden).
  • GATEWAY_INTERFACE: Vilken version av CGI-specifikationen servern använder, t.ex. 'CGI/1.1'.
  • SERVER_ADDR: IP-adressen för servern under vilken det aktuella skriptet körs.
  • SERVER_NAME: Namnet på servervärden under vilken det aktuella skriptet körs. Om skriptet körs på en virtuell värd kommer detta att vara det värde som definierats för den virtuella värden.
    • Notera:** Under Apache 2 måste `UseCanonicalName = On` och `ServerName` vara inställt. Annars återspeglar detta värde värdnamnet som tillhandahålls av klienten, vilket kan förfalskas. Det är inte säkert att förlita sig på detta värde i säkerhetsberoende sammanhang.
  • SERVER_SOFTWARE: Serverns identifikationssträng, som anges i headers vid svar på förfrågningar.
  • SERVER_PROTOCOL: Namn och version av informationsprotokollet via vilket sidan begärdes; t.ex. 'HTTP/1.0'.
  • REQUEST_METHOD: Vilken förfrågningsmetod som användes för att komma åt sidan; t.ex. 'GET', 'HEAD', 'POST', 'PUT'.
    • Notera:** PHP-skriptet avslutas efter att headers har skickats (det vill säga efter att ha producerat något utdata utan utdata-buffring) om förfrågningsmetoden var HEAD.
  • REQUEST_TIME: Tidsstämpeln för när förfrågan startade.
  • REQUEST_TIME_FLOAT: Tidsstämpeln för när förfrågan startade, med mikrosekundprecision.
  • QUERY_STRING: Query-strängen, om någon, via vilken sidan nåddes.
  • DOCUMENT_ROOT: Dokumentroten under vilken det aktuella skriptet körs, som definierats i serverns konfigurationsfil.
  • HTTPS: Sätts till ett icke-tomt värde om skriptet begärdes via HTTPS-protokollet.
  • REMOTE_ADDR: IP-adressen från vilken användaren tittar på den aktuella sidan.
  • REMOTE_HOST: Värdnamnet från vilken användaren tittar på den aktuella sidan. Den omvända DNS-uppslaget baseras på användarens `REMOTE_ADDR`.
    • Notera:** Webbservern måste vara konfigurerad för att skapa denna variabel. Till exempel måste `HostnameLookups On` vara inställt i `httpd.conf` för att den ska existera. Se även `gethostbyaddr()`.
  • REMOTE_PORT: Porten som används på användarens maskin för att kommunicera med webbservern.
  • REMOTE_USER: Den autentiserade användaren.
  • REDIRECT_REMOTE_USER: Den autentiserade användaren om förfrågan omdirigerades internt.
  • SCRIPT_FILENAME: Den absoluta sökvägen till det aktuella skriptet.
    • Notera:** Om ett skript körs med CLI, som en relativ sökväg, som `file.php` eller `../file.php`, kommer `$_SERVER['SCRIPT_FILENAME']` att innehålla den relativa sökvägen som användaren angav.
  • SERVER_ADMIN: Värdet som anges i `SERVER_ADMIN` (för Apache) direktivet i webbserverns konfigurationsfil. Om skriptet körs på en virtuell värd kommer detta att vara det värde som definierats för den virtuella värden.
  • SERVER_PORT: Porten på servern som används av webbservern för kommunikation. För standardinställningar kommer detta att vara '80'; att använda SSL kommer till exempel att ändra detta till den port som definierats för säker HTTP.
    • Notera:** Under Apache 2 måste `UseCanonicalName = On` samt `UseCanonicalPhysicalPort = On` vara inställda för att få den fysiska (riktiga) porten, annars kan detta värde förfalskas, och det kan eller kanske inte returnerar det fysiska portvärdet. Det är inte säkert att förlita sig på detta värde i säkerhetsberoende sammanhang.
  • SERVER_SIGNATURE: En sträng som innehåller serverns version och virtuella värdnamn som läggs till servergenererade sidor, om det är aktiverat.
  • PATH_TRANSLATED: Sökvägen baserad på filsystemet (inte dokumentroten) till det aktuella skriptet, efter att servern har gjort all virtuell-till-verklig mappning.
    • Notera:** Användare av Apache 2 kan använda `AcceptPathInfo = On` inuti `httpd.conf` för att definiera `PATH_INFO`.
  • SCRIPT_NAME: Innehåller den aktuella skriptets sökväg. Detta är användbart för sidor som behöver peka på sig själva. Konstanten `__FILE__` innehåller hela sökvägen och filnamnet för den aktuella (dvs. inkluderade) filen.
  • REQUEST_URI: URI som angavs för att komma åt denna sida; till exempel, '/index.html'.
  • PHP_AUTH_DIGEST: När Digest HTTP-autentisering används sätts denna variabel till 'Authorization'-rubriken som skickas av klienten (vilken du sedan bör använda för att göra lämplig validering).
  • PHP_AUTH_USER: När HTTP-autentisering används sätts denna variabel till användarnamnet som tillhandahålls av användaren.
  • PHP_AUTH_PW: När HTTP-autentisering används sätts denna variabel till lösenordet som tillhandahålls av användaren.
  • AUTH_TYPE: När HTTP-autentisering används sätts denna variabel till autentiseringstypen.
  • PATH_INFO: Innehåller eventuell klienttillhandahållen sökvägsinformation som följer efter det faktiska skriptfilnamnet men före query-strängen, om tillgänglig. Till exempel, om det aktuella skriptet nåddes via URI:en `http://www.example.com/php/path_info.php/some/stuff?foo=bar`, skulle `$_SERVER['PATH_INFO']` innehålla `/some/stuff`.
  • ORIG_PATH_INFO: Ursprunglig version av `'PATH_INFO'` innan den bearbetades av PHP.

Exempel

Exempel #1 $_SERVER-exempel
<?php
echo $_SERVER['SERVER_NAME'];
?>

Ovanstående exempel kommer att ge något liknande:

www.example.com

Noteringar

Notera: Detta är en "superglobal", eller automatisk global, variabel. Detta innebär helt enkelt att den är tillgänglig i alla omfång genom ett skript. Det finns inget behov av att använda `global $variable;` för att komma åt den inom funktioner eller metoder.

Se även


Exempel

  • $_SERVER['SERVER_NAME']
 Innehåller namnet på servern där skriptet körs, till exempel `"www.example.com"`.
  • $_SERVER['REQUEST_METHOD']
 Anger vilken HTTP-metod som användes för att begära sidan, till exempel `"GET"`, `"POST"`, `"HEAD"`, eller `"PUT"`.
  • $_SERVER['REMOTE_ADDR']
 Innehåller IP-adressen för klienten som begär sidan, till exempel `"192.168.1.1"`.
  • $_SERVER['HTTP_USER_AGENT']
 Innehåller strängen för användaragenten som används för att få åtkomst till sidan, vilket ger information om klientens webbläsare, till exempel `"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"`.
  • $_SERVER['SCRIPT_FILENAME']
 Innehåller den fullständiga sökvägen och filnamnet för det aktuella skriptet som körs, till exempel `"/var/www/html/index.php"`.

Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/reserved.variables.server.php
PHP
Språkreferens
Språkreferens#Fördefinierade_Variabler


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.