Miljövariabler är användbara för att ge applikationen information som inte kommer från applikationen. Det används exempelvis för att ställa in saker som uppgifter om databasanslutningar och API-nycklar.

Miljövariabler för din applikation.
Miljövariabler för din applikation.

Lägga till miljövariabler

Miljövariabler kan exempelvis läggas till i steget Applikations-information när du lägger till en applikation eller på sidan Inställningar för applikationen efter distribueringen.

Specialtecken i miljövariabler

Miljövariabler tillämpas bokstavligt, med undantag för kommatecken, parenteser och dubbla citattecken.

Komma tolkas som avgränsare och kan inte användas i miljövariabler. Beroende på när de är tillgängliga under distributionen kan parenteser göra att bygg- eller utrullningsprocessen misslyckas, så de kan inte användas i miljövariabler.

Undantagna dubbla citattecken ignoreras antingen eller kommer att göra att lanseringsprocessen misslyckas.

  • Ett exempel: "my_example_variable" kommer att tillämpas som: my_example_variable.
  • Om dubbla citattecken finns i en sträng (t.ex. my_exampl"e_text), kommer lanseringsprocessen att misslyckas.
  • För att hålla dubbla citattecken runt en variabel, omringa dem med ett snedstreck (\). Till exempel: \"my_example_var\" kommer att tillämpas som: "my_example_var".
  • Dubbla citattecken inuti strängar kan även hanteras med escaping, så att utrullningsprocessen kan slutföras. Till exempel: my_examp\"le_var" kommer att tillämpas som: my_examp"le_var.

Base64-kodade variabler

Om din miljövariabel är Base64-kodad och du upplever problem (t.ex. 500-fel i webbläsaren, byggfel, körtids-fel, osv.), försök att linda in variabelns värde med enstaka citattecken.

I Applikations-informationen

Om du vill lägga till miljövariabler när du lägger till applikationen så expanderar du avsnittet Miljövariabler. Ange sedan nyckel-värdeparen och välj därefter om variablerna ska vara tillgängliga under körning och/eller byggprocessen.

Lägg till detaljer om applikationen.
Lägg till detaljer om applikationen.

Efter distribuering

Om du vill lägga till miljövariabler efter distribueringen så går du till sidan Inställningar för applikationen. Scrolla sedan ner till avsnittet Miljövariabler och klicka därefter på Lägg till miljövariabel. Lägg till nyckel-värdeparen i modal-/popup-fönstret Lägg till miljövariabel och välj sedan om variablerna ska vara tillgängliga under körning och/eller byggprocessen.

Lägg till ett nyckel-värdepar för en miljövariabel.
Lägg till ett nyckel-värdepar för en miljövariabel.

Redigera miljövariabler

Du kan redigera variabelnamn (nycklar) eller värden på sidan Inställningar. För att redigera en variabel klickar du på ikonen Redigera (penna), gör dina ändringar och klickar på Slutför redigering.

När du skapar en intern anslutning och markerar kryssrutan Lägg till miljövariabler… skapas variabelnamnen (nycklarna) automatiskt. Vissa applikationer kan förvänta sig miljövariabler med olika namn. Om du exempelvis vill använda en databas med Laravel, innehåller database.php-filen andra variabelnamn än de som skapas automatiskt i MyKinsta. För att använda variabelnamnen som definieras i applikationen, redigera varje variabel efter behov och ändra nyckeln så att den matchar det som definieras i database.php-filen.

Användning av miljövariabler

Hur du använder miljövariabler är upp till din applikation. I Node så kan du exempelvis komma åt en variabel som heter API_KEY med process.env.API_KEY. I PHP så skulle du använda getenv('API_KEY') .

Interna anslutningar och byggprocessen

Interna anslutningar är endast tillgängliga under körning; de är inte tillgängliga under byggprocessen.

Om din applikation försöker att ansluta till en databas med en intern anslutning under byggprocessen, orsakar detta ett fel som säger att databasen inte körs. Som ett resultat misslyckas byggnationen. Detta är förväntat eftersom den interna anslutningen inte är aktiv under bygget; den kan endast användas under körning.

Det finns ett par sätt att kringgå detta.

Alternativ 1: Flytta logiken som ansluter till databasen från applikationens byggkommando till start-kommandot. Om du exempelvis har ett kommando som prisma migrate i byggprocessen och flyttar det kommandot till start-kommandot, kommer din applikation endast att komma åt databasen under körning, och bygget kommer att lyckas.

Alternativ 2: Lägg till separata miljövariabler efter behov för databas-anslutningen, en som är tillgänglig för byggprocessen och den andra endast för körning. Nycklarna kan vara desamma (t.ex. DB_CONNECTION_URL) så länge som en endast är tillgänglig under byggprocessen och den andra endast är tillgänglig under körning. Använd databasens Externa anslutningsdetaljer (Databaser > dbname > Info > Externa anslutningar) för värdena för eventuella variabler som ska användas i byggprocessen.

Miljövariabler som ställs in av Kinsta

Kinsta ställer alltid in PORT som den port som används av webbservern. Om du vill att din applikation ska interagera med webbservern så måste du därför använda den här miljövariabeln. I Node.js så är det exempelvis så här som du startar en server:

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

Miljövariabler ställs inte in av Kinsta

Som standard är miljövariabeln NODE_ENV inte inställd på production för Node.js-applikationer; du måste lägga till denna miljövariabel manuellt.

Miljövariabel Språkexempel

Hur du använder miljövariabler är upp till din applikation. I följande tabell så visas det hur du anropar en miljövariabel med namnet API_KEY på olika språk:

Språk Kod
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")

Relaterad dokumentation