Miljøvariabler er nyttige til at give oplysninger til dit program, som kommer uden for programmet, når det kører. Det bruges typisk til at indstille ting som databaseforbindelsesoplysninger og API-nøgler.

Miljøvariabler til din applikation.
Miljøvariabler til din applikation.

Specialtegn i miljøvariabler

I miljøvariablenøglerne kan du kun bruge a-z, 0-9 eller understregning (_). Miljøvariableværdier anvendes bogstaveligt, med undtagelse af parenteser, kommaer og dobbelte anførselstegn.

Parenteser

Parenteser kan få bygge- eller udrulningsprocessen til at mislykkes, afhængigt af hvornår de er tilgængelige under implementeringen. De kan ikke bruges i miljøvariabler.

Kommaer

Ikke-escaped kommaer tolkes som afgrænsere og kan ikke bruges i miljøvariabler.

  • For eksempel: write_stock,read_orders vil få udrulningsprocessen til at mislykkes.
  • For at holde et komma inde i en streng skal du undslippe det med en omvendt skråstreg (\) som denne: write_stock\,read_orders — som vil blive anvendt som write_stock,read_orders.

Dobbelte citater

Ikke-undgåede dobbelte anførselstegn enten ignoreres eller vil få udrulningsprocessen til at mislykkes.

  • For eksempel: "my_example_variable" vil blive anvendt som: my_example_variable.
  • For at holde dobbelte anførselstegn omkring en variabel, skal du undgå dem med en omvendt skråstreg (\) som denne: \"my_example_var\" — som vil blive anvendt som "my_example_var".
  • Hvis der er dobbelte anførselstegn inde i en streng (f.eks. my_exampl"e_text), vil udrulningsprocessen mislykkes.
  • For at holde dobbelte anførselstegn inde i en streng, undgå dem med en omvendt skråstreg (\) som denne: my_examp\"le_var — som vil blive anvendt som my_examp"le_var.

Base64-kodede variabler

Hvis din miljøvariabel er Base64-kodet, og du oplever problemer (f.eks. 500 fejl i browseren, build-fejl, runtime-fejl osv.), prøv at pakke værdien af variablen med enkelte anførselstegn.

Tilføjelse af miljøvariabler

Miljøvariabler kan tilføjes i trinnet Applikationsdetaljer, når du tilføjer en applikation eller på din applikations Indstillinger-side efter implementering.

I ansøgningsdetaljer

For at tilføje miljøvariabler, når du tilføjer din applikation, skal du udvide afsnittet Miljøvariabler, indtaste nøgleværdi-parrene og vælge, om variablerne skal være tilgængelige under kørsel og/eller byggeprocessen.

Tilføj applikationsdetaljer.
Tilføj applikationsdetaljer.

Efter implementering

For at tilføje miljøvariabler efter implementeringen skal du gå til din applikations Indstillinger-side, rulle ned til sektionen Miljøvariabler og klikke på Tilføj miljøvariabel. Tilføj nøgleværdi-parrene i Tilføj miljøvariabel modal/pop-up vinduet, og vælg, om variablerne skal være tilgængelige under kørsel og/eller byggeprocessen.

Tilføj et nøgle-værdipar til en miljøvariabel.
Tilføj et nøgle-værdipar til en miljøvariabel.

Redigering af miljøvariabler

Du kan redigere variabelnavne (nøgler) eller værdier på siden Indstillinger. For at redigere en variabel skal du klikke på ikonet Rediger (blyant), foretage dine ændringer og klikke på Afslut redigering.

Når du opretter en intern forbindelse og markerer afkrydsningsfeltet Tilføj miljøvariabler…, oprettes variabelnavnene (nøglerne) automatisk. Nogle applikationer kan forvente miljøvariabler med forskellige navne. For eksempel, hvis du ønsker at bruge en database med Laravel, indeholder database.php-filen andre variabelnavne end dem, der automatisk oprettes i MyKinsta. For at bruge variabelnavnene, der er defineret i applikationen, skal du redigere hver variabel efter behov og ændre nøglen, så den matcher det, der er defineret i database.php-filen.

Brug af miljøvariabler

Hvordan du bruger miljøvariabler, er op til din applikation. I Node kan du f.eks. få adgang til en variabel ved navn API_KEY med process.env.API_KEY. I PHP ville du bruge getenv('API_KEY').

Interne forbindelser og build-processen

Interne forbindelser er kun tilgængelige under kørsel; de er ikke tilgængelige under build-processen.

Hvis dit program forsøger at oprette forbindelse til en database ved hjælp af en intern forbindelse under byggeprocessen, forårsager dette en fejl, der siger, at databasen ikke kører, hvilket gør, at buildet mislykkes. Dette forventes, fordi den interne forbindelse ikke er strømførende under opbygningen; den kan kun bruges under kørsel.

Der er et par måder at løse dette på.

Mulighed 1: Flyt logikken, der forbinder til databasen, fra applikationens build-kommando til start-kommandoen. For eksempel: Hvis du har en kommando som prisma migrate i byggeprocessen og flytter den kommando til startkommandoen, vil din applikation kun få adgang til databasen under kørsel, og opbygningen vil lykkes.

Mulighed 2: Tilføj separate miljøvariabler efter behov for databaseforbindelsen, en tilgængelig for byggeprocessen og den anden kun til runtime. Nøglerne kan være de samme (f.eks. DB_CONNECTION_URL), så længe den ene kun er tilgængelig under build-processen, og den anden kun er tilgængelig under kørsel. Brug databasens eksterne forbindelsesdetaljer (Databaser > dbnavn > Info > Eksterne forbindelser) for værdierne af variabler, der skal bruges i build-processen.

Miljøvariabler indstillet af Kinsta

Kinsta indstiller altid PORT som den port, der anvendes af webserveren. Hvis du vil have dit program til at interagere med webserveren, skal du bruge denne miljøvariabel. I Node.js er det f.eks. sådan her, du starter en server:

app.listen(process.env.PORT, () => {
console.log("Weather server is up and running")
})

Miljøvariabler ikke indstillet af Kinsta

Som standard er miljøvariablen NODE_ENV ikke sat til production for Node.js-applikationer; du skal tilføje denne miljøvariabel manuelt.

Eksempler på miljøvariable sprog

Hvordan du bruger miljøvariabler er op til din applikation. Følgende tabel viser, hvordan man kalder en miljøvariabel ved navn API_KEY på forskellige sprog:

Sprog Kode
Ruby ENV["API_KEY"]
Node.js process.env.API_KEY;
Python os.environ.get('API_KEY')
Java System.getenv("API_KEY");
Scala System.getenv("API_KEY");
PHP getenv('API_KEY');
Go os.Getenv("API_KEY")

Relateret dokumentation