php

Brug af getenv () funktion i PHP

Brug af getenv () funktion i PHP
Miljøvariabler bruges i PHP til at konfigurere applikationen og hente de forskellige datatyper dynamisk fra serveren. Databaseoplysninger, API-nøgler osv., er synlige for koden gennem miljøvariablen i stedet for at bruge en konfigurationsfil. Når et PHP-script kører, arver det alle nødvendige miljøvariabler fra serveren. Der er to måder at læse miljøvariabler i PHP på. Den ene er getenv () funktion og en anden er $ _ENV array. Brugen af ​​getenv () -funktionen vises i denne vejledning.

Syntaks:

getenv () -funktionen kan bruges med eller uden et argument. Når denne funktion bruger argumenterne, returnerer den strengværdien, og når funktionen ikke bruger noget argument, returnerer den en matrix. Begge syntakser for denne funktion er vist nedenfor:

streng getenv (streng $ varnavn [, bool $ local_only = false])

Ifølge ovenstående syntaks kan funktionen getenv () tage to argumenter. Det første argument er obligatorisk og bruges til at tage miljøvariabelens navn, der skal læses. Det andet argument er valgfrit med en standardværdi på FALSE. Når SAND bruges i det andet argument, returnerer denne funktion kun de lokale miljøvariabler.

array getenv ()

Ifølge ovenstående syntaks kan funktionen getenv () kaldes uden noget argument.

Eksempel 1: Brug af getenv () variabel uden argument

Det følgende eksempel viser listen over miljøvariabler for den installerede version af PHP. Opret en PHP-fil med følgende script for at få listen over miljøvariabler ved hjælp af getenv () -funktionen.

getenv () -funktionen kaldes uden noget argument i scriptet, og de returnerede værdier er gemt i en matrix navngivet $ env_array. Værdierne for denne matrix udskrives ved hjælp af foreach løkke.

// Call getenv () -funktion uden argument
$ env_array = getenv ();
ekko "

Listen over miljøvariabler med værdier er:

";
// Udskriv alle miljøvariabelnavne med værdier
foreach ($ env_array som $ key => $ værdi)

ekko "$ key => $ værdi
";

?>

Produktion:

Følgende output vises efter kørsel af scriptet fra serveren. Det viser listen over alle miljøvariabler i PHP. Denne output kan variere afhængigt af PHP-versionen og operativsystemet, hvor PHP kører.

Eksempel 2: Læs de specifikke miljøvariabler

Følgende eksempel viser, hvordan man læser de særlige miljøværdier. Opret en PHP-fil med følgende script.

De fire miljøvariabler udskrives ved hjælp af getenv () -funktionen. "SPROG" bruges i getenv () -funktionen til at læse hvilket sprog der aktuelt er indstillet til PHP-scriptet. “LC_TIME” bruges i getenv () -funktionen til at læse det anvendte dato- og tidsformateringsnavn i PHP. “APACHE_LOG_DIR” bruges i getenv () -funktionen til at læse logbogen for Apache. "STI" bruges i getenv () -funktionen til at læse de værdier, der er gemt i stien.

// Udskriv det anvendte sprognavn
ekko " Sprog: " . getenv ("SPROG"). "
";
// Udskriv det anvendte dato- og tidsformateringsnavn
ekko " Lokal tid: " . getenv ("LC_TIME"). "
";
// Udskriv logbogsnavnet på apache-serveren
ekko " Apache-logbog: " . getenv ("APACHE_LOG_DIR"). "
";
// Udskriv værdierne for PATH-variablen
ekko " Værdierne for PATH er: " . getenv ("PATH");
?>

Produktion:

Følgende output vises efter kørsel af scriptet fra serveren. Det viser værdierne for de fire miljøvariabler.

Eksempel 3: Definer og læs miljøvariabel

getenv () -funktionen returnerer listen over indbyggede miljøvariabler i PHP. Men hvis koderen har brug for at oprette en ny miljøvariabel til programmeringsformålet, kan de gøre det. putenv () -funktionen kan bruges til at oprette en ny miljøvariabel med en værdi. For at oprette en ny miljøvariabel er variabelnavnet, ligetegn (=) og værdien af ​​variablen vedlagt citatet, der skal bruges som argumentværdi for putenv () -funktionen. Men værdien af ​​enhver indbygget miljøvariabel kan ikke ændres ved hjælp af funktionen putenv ().

Følgende eksempel viser, hvordan man opretter en ny miljøvariabel ved hjælp af funktionen putenv () og læser den nyoprettede miljøvariabel ved hjælp af funktionen getenv (). Opret en PHP-fil med følgende script.

"REMOTE_ADDR" er et indbygget miljøvariabelnavn med en værdi, der udskrives i begyndelsen af ​​scriptet. Dernæst indstilles en ny værdi for denne variabel og udskrives igen. En ny miljøvariabel med navnet “MY_ENV_VAR” oprettes med en værdi og udskrives senere.

// Udskriv den aktuelle værdi af REMOTE_ADDR
ekko " Den aktuelle fjernadresse er: " . getenv ("REMOTE_ADDR"). "
";
// Prøv at ændre den indbyggede REMOTE_ADDR-variabel
putenv ("REMOTE_ADDR = lokal server");
// Udskriv værdien af ​​REMOTE_ADDR efter brug af putenv ()
ekko " Fjernadressen efter ændring er: " . getenv ("REMOTE_ADDR"). "
";
// Definer en tilpasset miljøvariabel
putenv ("MY_ENV_VAR = TestSrver");
// Udskriv den tilpassede miljøvariabel
ekko "Værdien af ​​MY_ENV_VAR er: " . getenv ("MY_ENV_VAR");
?>

Produktion:

Følgende output vises efter kørsel af scriptet fra serveren. Det viser, at standardværdien for “REMOTE_ADDR” er 127.0.0.1. Når værdien af ​​denne miljøvariabel ændres og udskrives igen, viser den sin tidligere værdi. Det betyder, at værdien af ​​de indbyggede variabler ikke kan ændres. Den nyoprettede miljøvariabel udskrives korrekt her.

Konklusion

Måderne til at læse indbyggede miljøvariabler og skabe en ny miljøvariabel vises i denne vejledning ved hjælp af forskellige eksempler. Der er en superglobal variabel ved navn $ _ENV, der også kan bruges til at læse miljøvariablen i PHP. Begrebet miljøvariabler i PHP ryddes efter at have læst denne tutorial, og PHP-kodere vil være i stand til at bruge disse variabler i deres scripts.

Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...