0

我不知道这个问题是否相关。LARAVEL 5 仍处于开发阶段。在观看了一个关于 LARAVEL 5 新功能的 Laracast 视频后,我已经下架了 LARAVEL 5。我忍不住等待它的正式发布。

我将本地环境dot文件命名为.env.local.php. 但由于某种原因,我无法在使用$_ENV['KEY'].

我很确定我已经正确配置了环境。执行时$app->environment()显示正确的环境。在 LARAVEL 5 中我们从点文件中获取值的方式是否发生了变化,还是我遗漏了什么?

4

1 回答 1

4

默认情况下,在environment.php文件中你有这样的东西:

if (file_exists(__DIR__.'/../.env'))
{
    Dotenv::load(__DIR__.'/../');
}

所以只有.env文件被读取(注意.env不是.env.php- 所以你应该重命名你的文件 - 或者.env.php如果你愿意,你可以添加为第二个参数文件名)。默认情况下不会读取任何其他环境文件 ( .local.env) - 您需要手动加载它们。

如果您默认没有这样的代码,您可能应该再次更新/安装 Laravel 5(更改经常出现)

现在,我不知道您使用什么方法,但是您可以将您的.env文件以及环境名称放入例如APP_ENV变量中,创建.local.env包含您想要的内容的文件,然后您可以在environment.php文件中使用:

if (file_exists(__DIR__.'/../.env'))
{
    Dotenv::load(__DIR__.'/../');

    if (getenv('APP_ENV') && file_exists(__DIR__.'/../.' .getenv('APP_ENV') .'.env')) {
        echo "loading";
        Dotenv::load(__DIR__ . '/../', '.' . getenv('APP_ENV') . '.env');
    }

}

如果您不想这样做,您可以根据$env假设您使用基于 PC 的环境检测来更改另一个并加载您想要的 env 文件。

如果不清楚,您还可以查看在 Laravel 5 中设置 ENV 变量的正确方法是什么?

于 2014-10-14T16:37:24.327 回答