Laravel 5 Comment passer du mode de Production

Quand je cours {[1] } je reçois;

Current application environment: production

Comment puis-je changer cela en développement ou quelque chose de similaire? Afin que je puisse voir les erreurs.. J'ai lu beaucoup de documentation mais ce n'est pas du tout facile à comprendre pour un débutant. Je n'ai pas d'expérience de configuration du serveur, vraiment.

Je suis sûr qu'il existe un moyen "intelligent" de le faire, mais tout ce qui m'intéresse, pour l'instant, c'est de changer manuellement l'environnement. Comment dois-je faire?

27
demandé sur mikelovelyuk 2015-02-25 16:14:43

5 réponses

Laravel 5 obtient ses variables liées à l'environnement du .env fichier situé à la racine de votre projet. Vous avez juste besoin de définir APP_ENV à ce que vous voulez, par exemple:

APP_ENV=development

Ceci est utilisé pour identifier l'environnement actuel. Si vous souhaitez afficher des erreurs, vous devez activer le mode débogage dans le même fichier:

APP_DEBUG=true

Le rôle du fichier .env est de vous permettre d'avoir différents paramètres en fonction de la machine que vous exécutez votre application. Donc, sur votre serveur de production, les paramètres du fichier .env seraient différents de votre environnement de développement local.

45
répondu Bogdan 2015-02-25 13:57:17

Laravel 5 utilise le fichier .env pour configurer votre application. .env ne doit pas être validé sur votre référentiel, comme github ou bitbucket. Sur votre environnement local, votre .env ressemblera à ce qui suit:

# .env
APP_ENV=local

Pour votre serveur de production, vous pouvez avoir la configuration suivante:

# .env
APP_ENV=production
19
répondu Nino Paolo 2015-02-25 13:30:15

Ne pas oublier d'exécuter la commande php artisan config:clear après avoir apporté les modifications à la .fichier env. Faites ceci à nouveau php artisan env, qui retournera la version correcte.

11
répondu Sergio Paiva 2017-05-25 21:48:40

Ce que vous pouvez également regarder est la méthode exposée Application->loadEnvironmentFrom($file)

J'avais besoin d'une application pour fonctionner sur plusieurs sous-domaines. Donc, dans bootstrap/app.php j'ai ajouté quelque chose comme:

$envFile = '.env';
// change $envFile conditionally here
$app->loadEnvironmentFrom($envFile);
3
répondu Sjeiti 2015-03-19 13:06:24

Dans Laravel l'environnement par défaut est toujours la production.

Ce que vous devez faire est de spécifier le nom d'hôte correct dans bootstrap/start.php pour vos environnements, par exemple.:

/*
|--------------------------------------------------------------------------
| Detect The Application Environment
|--------------------------------------------------------------------------
|
| Laravel takes a dead simple approach to your application environments
| so you can just specify a machine name for the host that matches a
| given environment, then we will automatically detect it for you.
|
*/

$env = $app->detectEnvironment(array(
    'local' => array('homestead'),
    'profile_1' => array('hostname_for_profile_1')
));
-3
répondu Marcin Łojewski 2015-02-25 13:32:38