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?
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.
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
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.
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);
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')
));