Ich versuche herauszufinden, warum mein env()
Helfer immer zurückkommt null
. Dies führt insbesondere in app.php
Dateien zu Problemen, in denen env()
standardmäßig häufig verwendete Helfer verwendet werden. Vielleicht eine mysteriöse Servereinstellung?
Meine env-Datei :
APP_ENV=production
APP_KEY=base64:mymagickey=
APP_DEBUG=false
APP_LOG_LEVEL=info
APP_URL=http://www.example.com
etc...
BEARBEITEN - Ich habe Folgendes versucht :
php artisan cache:clear
php artisan view:clear
php artisan config:cache
und natürlich benutze ich env
helfer wie folgt :env('APP_ENV')
Aber immer noch kein Erfolg. Der seltsame Teil ist, dass die $_ENV
PHP-Variable jede einzelne Variable aus der .env
Datei enthält.
env(...)
Die Funktion funktioniert nicht, nachdem Sie die Konfiguration zwischengespeichert haben. (ab Laravel 5.2 bis aktuell 5.7)
Die Laravel-Dokumentation sagt
Wenn Sie den
config:cache
Befehl während der Bereitstellung verwenden, müssen Sie sicherstellen, dass Sie dieenv
Funktion nur aus Ihren Konfigurationsdateien heraus und nicht von einer anderen Stelle in Ihrer Anwendung aus aufrufen .
Die richtige Antwort wäre also zu
Wenn Sie env aus Ihrer Anwendung heraus aufrufen, wird dringend empfohlen, Ihren Konfigurationsdateien die richtigen Konfigurationswerte hinzuzufügen und stattdessen env von diesem Speicherort aus aufzurufen, damit Sie Ihre env-Aufrufe in Konfigurationsaufrufe konvertieren können.
Und ich habe es aus derselben Dokumentation zitiert
Für eine schnelle Lösung reicht dies jedoch aus:
php artisan config:clear
Und jetzt sollte klar sein, warum es beim Versuch config:cache
nicht geholfen hat, obwohl es die Konfiguration vor dem Caching löscht.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen