php

Användning av getenv () -funktionen i PHP

Användning av getenv () -funktionen i PHP
Miljövariabler används i PHP för att ställa in applikationen och hämta olika typer av data dynamiskt från servern. Databasuppgifterna, API-nycklarna etc., är synliga för koden via miljövariabeln istället för att använda någon konfigurationsfil. När något PHP-skript körs kommer det att ärva alla nödvändiga miljövariabler från servern. Det finns två sätt att läsa miljövariabler i PHP. En är getenv () funktion och en annan är $ _ENV array. Användningen av getenv () -funktionen visas i denna handledning.

Syntax:

getenv () -funktionen kan användas med eller utan argument. När denna funktion använder argumenten returnerar den strängvärdet och när funktionen inte använder något argument returnerar den en matris. Båda syntaxerna för denna funktion visas nedan:

string getenv (string $ varname [, bool $ local_only = false])

Enligt ovanstående syntax kan funktionen getenv () ta två argument. Det första argumentet är obligatoriskt och används för att ta miljövariabelns namn som krävs för att läsa. Det andra argumentet är valfritt med standardvärdet FALSE. När TRUE används i det andra argumentet returnerar den här funktionen endast de lokala miljövariablerna.

array getenv ()

Enligt ovanstående syntax kan funktionen getenv () anropas utan något argument.

Exempel 1: Användning av getenv () -variabel utan argument

Följande exempel visar listan över miljövariabler för den installerade versionen av PHP. Skapa en PHP-fil med följande skript för att få en lista över miljövariabler med funktionen getenv ().

getenv () -funktionen anropas utan något argument i skriptet och de returnerade värdena lagras i en matris med namnet $ env_array. Värdena för denna matris skrivs ut med förgrunden slinga.

// Call getenv () -funktion utan argument
$ env_array = getenv ();
eko "

Listan över miljövariabler med värden är:

";
// Skriv ut alla miljövariabelnamn med värden
foreach ($ env_array som $ key => $ värde)

eko "$ key => $ värde
";

?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern. Den visar listan över alla miljövariabler i PHP. Denna utgång kan variera beroende på PHP-versionen och operativsystemet, där PHP körs.

Exempel 2: Läs de specifika miljövariablerna

Följande exempel visar hur man läser de specifika miljövärdena. Skapa en PHP-fil med följande skript.

De fyra miljövariablerna skrivs ut med funktionen getenv (). "SPRÅK" används i getenv () -funktionen för att läsa vilket språk som för närvarande är inställt för PHP-skriptet. “LC_TIME” används i getenv () -funktionen för att läsa det använda datum- och tidsformateringsnamnet i PHP. “APACHE_LOG_DIR” används i getenv () -funktionen för att läsa loggkatalogen för Apache. "VÄG" används i getenv () -funktionen för att läsa värdena lagrade i sökvägen.

// Skriv ut namnet på det använda språket
eko " Språk: " . getenv ("SPRÅK"). "
";
// Skriv ut namnet för formatering av datum och tid
eko " Lokal tid: " . getenv ("LC_TIME"). "
";
// Skriv ut loggkatalogens namn på apache-servern
eko " Apache-loggkatalog: " . getenv ("APACHE_LOG_DIR"). "
";
// Skriv ut värdena för PATH-variabeln
eko " Värdena för PATH är: " . getenv ("PATH");
?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern. Den visar värdena för de fyra miljövariablerna.

Exempel 3: Definiera och läs miljövariabel

getenv () -funktionen returnerar listan över inbyggda miljövariabler i PHP. Men om kodaren behöver skapa någon ny miljövariabel för programmeringsändamålet kan de göra det. putenv () -funktionen kan användas för att skapa en ny miljövariabel med ett värde. För att skapa en ny miljövariabel ingår variabelnamnet, lika tecken (=) och variabelns värde med citatet som ska användas som argumentvärdet för putenv () -funktionen. Men värdet på en inbyggd miljövariabel kan inte ändras med funktionen putenv ().

Följande exempel visar hur du skapar en ny miljövariabel med putenv () -funktionen och läser den nyskapade miljövariabeln med funktionen getenv (). Skapa en PHP-fil med följande skript.

“REMOTE_ADDR” är ett inbyggt miljövariabelnamn med ett värde som skrivs ut i början av skriptet. Därefter sätts ett nytt värde för denna variabel och skrivs ut igen. En ny miljövariabel med namnet “MY_ENV_VAR” skapas med ett värde och skrivs ut senare.

// Skriv ut det aktuella värdet på REMOTE_ADDR
eko " Den aktuella fjärradressen är: " . getenv ("REMOTE_ADDR"). "
";
// Försök att ändra den inbyggda variabeln REMOTE_ADDR
putenv ("REMOTE_ADDR = lokal server");
// Skriv ut värdet på REMOTE_ADDR efter att ha använt putenv ()
eko " Fjärradressen efter ändring är: " . getenv ("REMOTE_ADDR"). "
";
// Definiera en anpassad miljövariabel
putenv ("MY_ENV_VAR = TestSrver");
// Skriv ut den anpassade miljövariabeln
eko "Värdet på MY_ENV_VAR är: " . getenv ("MY_ENV_VAR");
?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern. Det visar att standardvärdet för “REMOTE_ADDR” är 127.0.0.1. När värdet på denna miljövariabel ändras och skrivs ut igen kommer det att visa sitt tidigare värde. Det betyder att värdet på de inbyggda variablerna inte kan ändras. Den nyskapade miljövariabeln skrivs ut ordentligt här.

Slutsats

Sätten att läsa inbyggda miljövariabler och skapa en ny miljövariabel visas i denna handledning med hjälp av olika exempel. Det finns en superglobal variabel med namnet $ _ENV som också kan användas för att läsa miljövariabeln i PHP. Begreppet miljövariabler i PHP kommer att rensas efter att ha läst den här självstudien, och PHP-kodare kommer att kunna använda dessa variabler i sina skript.

Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...
Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...