Amazon ec2 关于beanstalk的laravel 4,php工匠如何了解环境

Amazon ec2 关于beanstalk的laravel 4,php工匠如何了解环境,amazon-ec2,laravel-4,amazon-elastic-beanstalk,Amazon Ec2,Laravel 4,Amazon Elastic Beanstalk,我有3个环境 发展 登台 生产 当我使用amazon beanstalk时,每个请求都会经过负载平衡器,从这一点开始,您就可以在ec2服务器上运行,而ec2服务器每次都可能不同(因此要解决环境问题,我不能使用机器名,因为它每次都不同) 我在beanstalk配置中发现了有关环境变量的信息,因此我从.ebextensions.myapp.config传递了一个环境变量PARAM_1,它本质上决定了要使用以下技巧的环境 $env = $app->detectEnvironment(arra

我有3个环境

  • 发展
  • 登台
  • 生产
当我使用amazon beanstalk时,每个请求都会经过负载平衡器,从这一点开始,您就可以在ec2服务器上运行,而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,但我如何告诉它所处的环境呢!(根据环境,我有不同的数据库配置)

您可以这样定义环境:

php artisan migrate  --env=Development
您还可以使用另一个SO答案将artisan环境硬编码到您的代码中: