我不知道这个问题是否相关。 LARAVEL 5仍处于发展阶段。我看了拉拉维斯的一个关于LARAVEL 5中新功能的视频后拉了LARAVEL 5.我无法等待正式发布。
我将本地环境dot
文件命名为.env.local.php
。但由于某种原因,在使用$_ENV['KEY']
时,我无法从此点文件中获取值。
我很确定我已正确配置了环境。在执行$app->environment()
时显示正确的环境。 LARAVEL 5中我们从点文件中获取值的方式是否已更改,或者我错过了哪些内容?
答案 0 :(得分: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
更改另一个并加载您想要的env文件,假设您使用基于PC的环境检测。
如果不清楚,您还可以查看What's the correct way to set ENV variables in Laravel 5?