8
votes

Comment définir env Flight Artisan pour avoir deux connexions de base de données différentes (locales / distantes)?

Je cherche configurer un projet multi-environnement en utilisant laravel3, mais je ne comprends pas la commande de définir l'environnement.

Je vois ici: http://laravel.com/docs/artisan/commands La commande est la suivante: xxx

J'ai déjà utilisé Artisan and Bob avec succès, ce que je ne peux pas intentrer dans le FOO , j'essaie de changer de ma Nom du projet mais toujours la même sortie: "Désolé, je ne trouve pas cette tâche."

Si j'essaie: PHP Artisan --env = local

qui retournera: " Vous avez oublié de fournir le nom de la tâche. "

Quelqu'un peut aider? Merci pour votre temps.

[modifier] avec les réponses maintenant, je peux mieux comprendre et améliorer ma question:

J'ai un projet avec ces dossiers créés : http://d.pr/i/5nzs Dans cet esprit, j'ai besoin de mettre mon environnement local en tant que développement et production en tant que production. Donc, je peux le faire avec n'importe quelle variation de la commande "php artisan --env = local" ou j'ai besoin d'ajouter sur mon public /.htaccess "Setenvaravel_env Développement"?

Merci encore.


0 commentaires

4 Réponses :


11
votes

"FOO" est la commande que vous voulez exécuter. Par exemple. Pour les migrations:

php artisan migrate


1 commentaires

Donc, sur mon local, j'ai besoin de set: "$ php artisan migrer --env = développement" et sur serveur de production: "$ php artisan migrer --env = production" avec cela et mon tableau comme ceci: gist.github.com/4557659 et aussi avec mes dossiers de configuration configurés comme celui-ci: D.PR/I/5NZS Cela fonctionnera? J'ai essayé mais ne semble toujours pas travailler, ce que j'ai aussi essayé est avec "Setenv Laravel_env Development" Qu'est-ce qui fonctionne presque mais j'ai besoin d'un peu plus de temps pour réessayer. Merci d'avoir répondu.



0
votes

FOO est un nom de tâche, essayez de créer ce fichier dans le dossier de tâche, il existe une autre tâche qui prédéfinit par exemple la migration, etc. xxx pré>

puis lorsque vous exécutez la commande, Il exécutera le code à l'intérieur de la fonction d'exécution. P>

php artisan foo --env=local


1 commentaires

Ouais, thats ce que j'imagine avant, mais avec "PHP Artisan Foo --env = local", cela dirigera la tâche lorsque l'env est local, non? Ce dont j'ai vraiment besoin est de définir l'ensemble du projet en tant que local ou de développement et qui permettez à mon dossier de configuration (d.pr/i/5nzs) et connectez l'hôte de base de données correct.



1
votes

Ici, comment j'ai résolu ma question:

D'abord, je n'ai pas besoin de la commande PHP Artisan migrer --env = local , j'ai juste besoin de figurer sur mon virtualhost: setenv Développement Laravel_env .

Deuxièmement, comme William Cahill-Manley dit, je dois travailler sur application / paths.php, les environnements $. Je l'ai utilisé avant mais de mauvaise manière. Dans mon cas, je résous avec ce problème: xxx

mon problème était parce que mon code a déjà été comme celui-ci: xxx

Et comme le deuxième élément de la matrice de développement, dans le serveur de production sera toujours en développement. C'est parce que l'URL sur le développement soit http: // projet / et sur la production soit http://project.com/ ou http: //user.projecte .com /

voir, le projet force dans tous les envoûtants peut être en développement par l'astérisque / wildcard.


0 commentaires

0
votes

Je vous recommande de configurer un hôte virtuel basé sur le nom pour votre application Web d'abord: xxx

puis ajouter le projet.dev à votre fichier d'hôtes / privé / etc / hosts comme suit: xxx

n'oubliez pas de rincer le cache DNS après: xxx

puis modifier Le tableau des environnements $ trouvés dans [root de projet] /path.php (le fichier application / chemin.php que vous avez mentionné n'existe pas) retour à ce que c'était. L'original * .dev wildcard cherchera la .dev à la fin de l'URL que vous avez fournie. xxx

puis créer un répertoire dans applications / config / appelé local , placer dans le nouveau répertoire un fichier appelé application.php . La configuration donnée dans ce fichier remplacera la configuration définie par les fichiers de configuration correspondants et les paramètres / valeurs indiqués dans le parent du répertoire local que vous avez créé.


0 commentaires