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 如何弄清楚环境的主要内容,如果未能解决你的问题,请参考以下文章

imagerotate上的弹性beantalk linux php GD库错误

使用 aws fargate 有啥缺点(缺点)以及为啥我的 laravel 应用程序在 Fargate 与弹性 beantalk 上运行缓慢?

在弹性 beantalk 部署上的 ec2 微型实例上创建交换文件/驱动器

启用 Mcrypt 的 PHP 7.2 上的 Laravel 4.2 仍然显示“需要 Mcrypt PHP 扩展”。在浏览器上

在 laravel 中访问 facebook php sdk 4.0 和 Javascript sdk 上的 Token

PHP 5.6.9 上的 Laravel 5 TokenMismatchException