Laravel 5环境检测在Windows 8.1不起作用
问题描述:
现在它的工作刚刚更新到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变量可用,但在随机时间有时会读取,有时不会。现在我不确定在哪里查看过程有什么问题。
请帮助!
答
我猜你只需要一个.env
文件在您的根你的配置。将APP_ENV
更改为您所需的环境。
如果您使用php artisan serve
来运行您的应用程序,请记住在更改.env文件后停止它并重新运行php artisan serve
命令。
答
晚的答案,但我今天有同样的问题...
看来点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,...)仍在继续我猜,导致这种混乱的情况。
已更改,请参阅问题 – Webloper 2015-02-24 04:29:47
它如何更改?你得到了什么错误? – 2015-02-24 04:36:39
不知道什么是错的,只是更新laravel 5.0.6,现在它的工作。无论如何,谢谢你们! – Webloper 2015-02-24 04:49:43