Wenn ein im Cache gespeicherte Config die .env
-Datei verwendet wird, nicht mehr so getenv
nutzlos ist, weil die Config aus geladen wird:
bootstrap/cache/config.php
Stattdessen können Sie die aktuelle Umgebung aus der geladenen Anwendungskonfiguration wie so erhalten:
config('app.env');
Oder direkt mit der app
Hilfsfunktion:
app('env');
Als dritte Option können Sie immer die environment
Methode verwenden, um die aktuelle Umgebung zu erhalten:
app()->environment(); // or App::environment()
Laravel verwendet die dotenv Bibliothek intern die Konfigurationsschlüssel aus der .env-Datei zu laden und add them to the environment variables mit putenv , aber wenn Sie Ihre Konfiguration zwischenspeichern, wird der Ladevorgang nicht mehr durchgeführt, da Laravel feststellt, dass eine Cache-Datei vorhanden ist und diese stattdessen verwendet, sodass die Schlüssel von .env
nicht in die Umgebung geladen werden. Dies ist über getenv
nicht möglich.
Und weil Konfigurationswerte aus der .env
Datei nur zwischengespeichert werden, wenn sie in einer aktuellen Konfigurationsdatei aus dem config
Verzeichnis verwendet werden, müssen Sie eine Konfigurationsoption erstellen für sie und zugänglich im Cache gespeichert werden, wenn Sie den Cache verwenden .
Also, wenn Sie mit diesem Wert eine BASE_URL
Schlüssel in Ihrer .env
Datei haben:
BASE_URL=http://domain.com/
Wenn Sie seinen Wert in der Lage sein wollen, zugreifen, wenn die Konfiguration zwischengespeichert wird, müssen Sie es verwenden in eine Konfigurationsdatei Zum Beispiel können Sie es zu Ihrem config/app.php
Datei hinzufügen wie folgt:
'base_url' => env('BASE_URL')
Dann können Sie auch zugreifen, wenn die Konfiguration iit mit:
config('app.base_url')
Sie mehr über den Zugriff auf die Konfigurationswerte lesen in der Laravel Documentation.
Wo genau ist das 'dd' Code aus ausgeführt? – Bogdan
in meiner Fußzeile. Aktualisierte Frage. Problem ist PHP Artisan Config: Cache. Aber immer noch nicht wissen, was los ist –
Haben Sie versucht, config: cache aus Ihren Bereitstellungsskripten wegzulassen? –