我有3个环境
当我使用 amazon beanstalk 时,每个请求都会通过负载均衡器,从那时您最终会遇到 ec2服务器,这可能会有所不同每次(因此找出环境的问题,我不能每次都使用机器名称,因为它不同)。
我在beanstalk配置中发现了环境变量,因此我从 .ebextensions.myapp.config 传递了一个环境变量 PARAM_1 ,它基本上决定了要使用以下环境的环境特技。
$env = $app->detectEnvironment(array(
'staging' => $_SERVER['PARAM_1'] == 'staging' ? array(gethostname()) : array('not-staging'),
'production' => $_SERVER['PARAM_1'] == 'production' ? array(gethostname()) : array('not-production'),
'development' => array('mylocalname')
));
除 php artisan命令外,此工作正常!出于某种原因,在运行artisan命令时,我无法访问此环境变量,所以我被卡住了! 我想运行 php artisan migrate ,但我该如何告诉它所处的环境呢! (基于环境,我有不同的数据库配置)
答案 0 :(得分:3)
您可以像这样定义环境:
php artisan migrate --env=Development
您还可以使用其他SO答案将工匠环境硬编码到您的代码中:Environment driven database settings in Laravel?