2015-02-24 3 views
0

Теперь его работа только обновлена ​​до версии 5.0.6.Laravel 5 Обнаружение окружающей среды на Windows 8.1 не работает

$ php artisan env 
Current application environment: production 

так дублируется .env.example файл .env.production но не получил никакой удачи

Так я проверил в Foundation->Bootstrap->DetectEnvironment.php на номер строки 18 $app->environmentFile()

Это всегда дает .env вместо .env.production

try 
{ 
    Dotenv::load($app['path.base'], $app->environmentFile()); 
} 

поэтому снова дублируется .env.example до .env после этого переменные env доступны, но в произвольное время иногда их читают, а иногда нет. теперь я не уверен, где посмотреть, что случилось с процессом.

Пожалуйста, помогите!

ответ

0

Для использования Laravel среды вы должны Ставить .env.example к .env и изменить свою собственную конфигурацию в .env

Подробнее о конфигурации окружающей среды на Laravel Doc

+0

изменен, см. Вопрос – Webloper

+0

Как он изменился? Какая у вас ошибка? –

+0

Не знаю, что не так, просто обновил laravel 5.0.6 и теперь его работу. Спасибо всем, ребята! – Webloper

0

Я думаю, вам нужен всего лишь один .env файла в корневом каталоге с вашей конфигурации. Измените APP_ENV на нужную вам среду.

Если вы используете php artisan serve для запуска своего приложения, не забудьте остановить его и повторить команду php artisan serve после изменения файла .env.

0

поздний ответ, но я имел и тот же вопрос сегодня ...

кажется файл дот-окр не является производным от среды приложения, а из переменной в ENVIRONMENT_FILE среды ...

$ php artisan tinker --env=foo 
Psy Shell v0.4.4 (PHP 5.4.39 — cli) by Justin Hileman 
>>> app() 
=> <Illuminate\Foundation\Application #000000003700ceef000000004af960b1> { 
     configurationIsCached: false, 
     environment: "foo", 
     environmentFile: ".env", 
     isLocal: false, 
     ... 

Даже если среда является «foo», файл .env.foo не используется. Поэтому, помимо настройки среды, вам нужно также установить переменную среды.

$ ENVIRONMENT_FILE=".env.foo" php artisan tinker --env=foo 
Psy Shell v0.4.4 (PHP 5.4.39 — cli) by Justin Hileman 
>>> app() 
=> <Illuminate\Foundation\Application #00000000570e634e0000000052841910> { 
     configurationIsCached: false, 
     environment: "foo", 
     environmentFile: ".env.foo", 
     isLocal: false, 
     ... 

Миграция из наличия нескольких сред с каждым своим собственной конфигурацией дерева (переопределение глобальной) в основном снижается понятие среды, но вместо того, чтобы принять/отменить кучу настроек конфигурации от «окружающей среды» (Unix оболочки env, SetEnv от Apache, dot-env, ...) все еще продолжается, я думаю, что приводит к этой запутанной ситуации.

 Смежные вопросы

  • Нет связанных вопросов^_^