3

bootstrap/start.php我有以下内容:

$env = $app->detectEnvironment(function()
{
    if($myenv = getenv('APPLICATION_ENV')):
        return $myenv;
    else:
        return 'local';
    endif;
});

好的,所以我设置了一个本地文件夹并使用我的本地连接放入一个 database.php 文件。

只是为了确保它选择了我在模板中放入的正确环境:{{ App::environment(); }} which outputs local.

但是当进行数据库调用时,它给了我错误: Undefined index: DB1_HOST

我的基本(生产)database.php文件有:

'host'      => $_SERVER["DB1_HOST"],
'database'  => $_SERVER["DB1_NAME"],
'username'  => $_SERVER["DB1_USER"],
'password'  => $_SERVER["DB1_PASS"],

为什么要查看生产数据库文件?

4

4 回答 4

2

Laravel 还将配置信息存储在

bootstrap/cache/config.php

在某些情况下,它没有更新,这可能会导致错误的数据库信息。删除文件应该可以解决问题。

于 2016-05-03T10:21:17.080 回答
1

首先加载生产配置文件,然后与其他环境的覆盖合并。如果生产文件产生错误(例如未定义的索引),配置加载将提前退出而不加载覆盖。在生产配置文件中,在尝试使用它之前检查该值是否已设置,然后本地配置文件将正确加载。

于 2015-01-17T12:01:52.693 回答
1

如果您尝试在终端中使用 artisan 并且想要一劳永逸地设置环境变量,您可以执行以下操作:

export APPLICATION_ENV=local

并使用检查您当前的环境php artisan env

于 2014-06-19T19:24:43.057 回答
1

清理配置缓存,因为它可能会影响

php工匠配置:缓存

于 2017-11-07T15:39:14.447 回答