现在它刚刚更新到5.0.6版本
$ php artisan env
Current application environment: production
所以将CCD_ 1文件复制到CCD_
所以我在$app->environmentFile()
第18行登记了Foundation->Bootstrap->DetectEnvironment.php
它总是给出.env
而不是.env.production
try
{
Dotenv::load($app['path.base'], $app->environmentFile());
}
所以再次将CCD_ 7复制到CCD_在此之后,环境变量可用,但有时在随机时间读取,有时不读取。现在我不知道该从哪里看这个过程出了什么问题。
请帮忙!!
要使用Laravel环境,您必须将.env.example
更改为.env.example
0,并在.env
中更改您自己的配置
阅读有关Laravel Doc 上的环境配置的更多信息
我想您只需要在根目录下的一个.env
文件和您的配置。将APP_ENV
更改为所需的环境。
如果使用php artisan serve
运行应用程序,请记住停止它,并在更改.env文件后重新运行php artisan serve
命令。
答案很晚,但我今天也遇到了同样的问题。。。
dot-env文件似乎不是从应用程序的环境派生的,而是从ENVIRONMENT_FILE
环境变量派生的。。。
$ php artisan tinker --env=foo
Psy Shell v0.4.4 (PHP 5.4.39 — cli) by Justin Hileman
>>> app()
=> <IlluminateFoundationApplication #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()
=> <IlluminateFoundationApplication #00000000570e634e0000000052841910> {
configurationIsCached: false,
environment: "foo",
environmentFile: ".env.foo",
isLocal: false,
...
从拥有多个环境,每个环境都有自己的配置树(覆盖全局配置树)到基本上放弃环境的概念,而是从"环境"(unix shell env、Apache的SetEnv、dot env…)中获取/覆盖一系列配置设置的迁移,我想仍在进行中,导致了这种令人困惑的情况。