2015-02-24 23 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 2015-02-24 04:29:47

+0

它如何更改?你得到了什麼錯誤? – 2015-02-24 04:36:39

+0

不知道什麼是錯的,只是更新laravel 5.0.6,現在它的工作。無論如何,謝謝你們! – Webloper 2015-02-24 04:49:43

0

我猜你只需要一個.env文件在您的根你的配置。將APP_ENV更改爲您所需的環境。

如果您使用php artisan serve來運行您的應用程序,請記住在更改.env文件後停止它並重新運行php artisan serve命令。

0

晚的答案,但我今天有同樣的問題...

看來點ENV文件不是從應用程序的環境,而是來自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, 
     ... 

即使環境是'富'.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,Apache的SetEnv,dot-env,...)仍在繼續我猜,導致這種混亂的情況。