在bootstrap/start.php
我有以下内容:
$env = $app->detectEnvironment(function()
{
if($myenv = getenv('APPLICATION_ENV')):
return $myenv;
else:
return 'local';
endif;
});
好的,所以我设置了一个本地文件夹并输入了一个带有本地连接的database.php文件。
只是为了确保它选择了我放在模板中的正确环境:{{ App::environment(); }}
输出local
。
但是在进行数据库调用时,它会给我一个错误: Undefined index
: DB1_HOST
我的基础(生产)database.php
文件有:
'host' => $_SERVER["DB1_HOST"],
'database' => $_SERVER["DB1_NAME"],
'username' => $_SERVER["DB1_USER"],
'password' => $_SERVER["DB1_PASS"],
为什么要查看生产数据库文件?
答案 0 :(得分:2)
Laravel还将配置信息存储在
中bootstrap/cache/config.php
在某些情况下,它未更新,可能导致错误的数据库信息。删除文件应该可以解决问题。
答案 1 :(得分:1)
如果您尝试在终端中使用工匠,并且想要一劳永逸地设置环境变量,您可以这样做:
export APPLICATION_ENV=local
使用php artisan env
答案 2 :(得分:1)
首先加载生产配置文件,然后将其与来自其他环境的替换合并。如果生产文件生成错误(例如未定义的索引),则配置加载将提前保释而不加载覆盖。在生产配置文件中,在尝试使用它之前检查该值是否已设置,然后本地配置文件将正确加载。
答案 3 :(得分:1)
清理可能影响的配置缓存
php artisan config:cache