Laravel 4.1 Deployment - Production .env.php wird nicht erkannt

Aus irgendeinem Grund denkt meine Produktions-Laravel-App, dass es in der lokalen Umgebung ist.

/var/www/appname/.env.php

<?php

return 
[
    'APP_ENV'   =>  'production',
    'DB_HOST'   =>  'HIDDEN',
    'DB_NAME'   =>  'HIDDEN',
    'DB_PASSWORD'   =>  'HIDDEN'
];

/var/www/appname/bootstrap/start.php

$env = $app->detectEnvironment(function()
{
    return getenv('APP_ENV') ?: 'local';
});

/var/www/appname/app/config/database.php

...
...
'mysql' => array(
        'driver'    => 'mysql',
        'host'      => getenv('DB_HOST'),
        'database'  => getenv('DB_NAME'),
        'username'  => getenv('DB_USERNAME'),
        'password'  => getenv('DB_PASSWORD'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => 'lar_',
    ),
...
...

sudo php artisan env (über SSH)

`Current application environment: local

php artisan tinker danngetenv('DB_NAME')

$ php artisan tinker
[1] > getenv('DB_NAME');
// false

Entweder werden meine Umgebungsvariablen nicht gesetzt oder Laravel erkennt meine nicht.env.php Datei für die Produktionsumgebung.

Aktualisieren

Mit etwas Hilfe von Anultro im IRC scheint .env.php noch nicht geladen zu sein. Daher muss APP_ENV gesetzt werden, bevor laravel versucht, Umgebungen zu erkennen. Dies ist sinnvoll, da Laravel wissen muss, welche Umgebung ausgeführt wird, bevor entschieden wird, ob sie verwendet werden soll.env.php oder.env.local.php.

Nachdem dies gesagt wurde,.env.php sollte immer noch verwendet werden, um DB-Anmeldeinformationen und geheime Schlüssel usw. zu speichern. Aber ich habe immer noch ein Problem, da die App beim Versuch, sie auszuführen, immer noch false zurückgibtgetenv('DB_NAME')

Irgendwelche Vorschläge?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage