Wie kann ich in Phoenix Framework den Namen der aktuellen Umgebung abrufen?Aktuellen Umgebungsnamen abrufen
Ich habe bereits versucht env
Variablen mit System.get_env("MIX_ENV")
lesen, aber der Wert ist nicht immer festgelegt.
Wie kann ich in Phoenix Framework den Namen der aktuellen Umgebung abrufen?Aktuellen Umgebungsnamen abrufen
Ich habe bereits versucht env
Variablen mit System.get_env("MIX_ENV")
lesen, aber der Wert ist nicht immer festgelegt.
Die Antwort ist in http://elixir-lang.org/docs/stable/mix/Mix.html
iex(1)> Mix.env
:dev
Mix.env
nicht in der Produktion oder anderen Umgebungen funktioniert, wo Sie zusammengestellt Versionen verwenden (gebaut mit Exrm/Distillery) oder wenn Mix
nicht verfügbar ist.
Die Lösung ist es in Ihrem config/config.exs
Datei angeben:
# config/config.exs
config :your_app, env: Mix.env
Anschließend können Sie die Umgebung Atom in Ihrer Anwendung wie diese:
Application.get_env(:your_app, :env)
#=> :prod
Dies wird nicht Arbeit in Anwendungscode zur Laufzeit in der Produktion. – atomkirk
'Mix' ist in einer kompilierten Produktionsanwendung nicht verfügbar, so dass' Mix.env' in jedem Code, der in dieser Umgebung ausgeführt wird, den folgenden Fehler verursacht: '(UndefinedFunctionError) undefinierte Funktion Mix.env/0 (Modul Mix ist nicht verfügbar) ' Es ist eine viel bessere Idee, Sheharyar's Antwort zu verwenden. –