Laravel 5环境检测Windows 8.1不工作



现在它刚刚更新到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.example0,并在.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…)中获取/覆盖一系列配置设置的迁移,我想仍在进行中,导致了这种令人困惑的情况。

相关内容

  • 没有找到相关文章

最新更新