beantalk 上的 laravel 4,php artisan 如何弄清楚环境

Posted

技术标签:

【中文标题】beantalk 上的 laravel 4,php artisan 如何弄清楚环境【英文标题】:laravel 4 on beanstalk, php artisan how to figure out the environment 【发布时间】:2013-12-16 10:33:06 【问题描述】:

我有 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 命令之外,这一切正常!由于某种原因,在运行工匠命令时,我无法访问此环境变量,所以我被卡住了! 我想运行 php artisan migrate 但我如何告诉它它所处的环境! (根据环境我有不同的数据库配置)

【问题讨论】:

【参考方案1】:

你可以这样定义环境:

php artisan migrate  --env=Development

您还可以使用另一个 SO 答案将工匠环境硬编码到您的代码中:Environment driven database settings in Laravel?

【讨论】:

以上是关于beantalk 上的 laravel 4,php artisan 如何弄清楚环境的主要内容,如果未能解决你的问题,请参考以下文章