它们都配置相同。
环境肯定会投入生产。
根本没有读取数据库凭据 - 它想使用''@ localhost密码:NO作为默认值。
我设置
'mysql' => array(
'driver' => 'mysql',
'host' => getenv('DB_HOST'),
'database' => getenv('DB_NAME'),
'username' => getenv('DB_USERNAME'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
在app / config / database.php的所有4个站点中,我在forge中设置了相关的环境变量。我试过将环境字段留空,并输入'production'。我也尝试在database.php中使用$ _ENV ['environmentvariable']。
这给了我一个不同的未定义索引DB_HOST错误。很明显,env vars没有被阅读。
我把所有东西都拿下来并多次重新创建了repo和laravel服务器。所有其他3个站点配置相同。它使用
检测bootstrap / start中的环境$env = $app->detectEnvironment(function()
{
return getenv('ENV') ?: 'development';
});
我感谢任何帮助人员。它在宅基地上运行良好。
编辑:我可以在任何网站或数据库中进行伪造并做任何我想做的事情,除了问题之外任何一个php artisan命令都失败并且'拒绝访问''@ localhost密码:NO',即使我用--env =“production”运行它。
答案 0 :(得分:2)
我不完全确定你是否在root上使用.env文件来指定不同的环境变量,但是在我自己完成之后我意识到,当环境是“本地”时它会读取'.env.local.php',当环境是“生产”时,它需要'.env.php'。
这是in the docs,但我几乎每次都忘了。我希望输入它会有所帮助。 :)