lundi 2 février 2015

Environment variable not recognised when deploying to Elastic Beanstalk

I'm trying to deploy my Laravel application to Elastic Beanstalk in development mode. To make the application run in development mode rather than production, I've done the following in my /bootstrap/start.php file:



$env = $app->detectEnvironment(function() {
return $_ENV['ENV_NAME'];
});


To actually create the environment variable, I've created a .config file in the following path: /.ebextensions/00environmentVariables.config with these contents:



option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: ENV_NAME
value: development
- option_name: DB_HOST
value: [redacted]
- option_name: DB_PORT
value: [redacted]
- option_name: DB_NAME
value: [redacted]
- option_name: DB_USER
value: [redacted]
- option_name: DB_PASS
value: [redacted]


When I run eb start from the command line, it spins up an EC2 instance and attempts to provision it, at which point it tells me it fails. and to check the logs. In the logs, I can see these entries:



PHP Notice: Undefined index: ENV_NAME in /var/app/ondeck/bootstrap/start.php on line 28


Notice: Undefined index: ENV_NAME in /var/app/ondeck/bootstrap/start.php on line 28



So for some reason, the ENV_NAME environment variable doesn't exist, even though I've specified it in 00environmentVariables.config. What's even weirder, is that I can see the environment variable does exist under the software configuration settings of the EB environment:


enter image description here


To summarize:



  • I know my .config files are being parsed from looking at the logs

  • For some reason my Laravel application still doesn't think that ENV_NAME eixsts

  • ENV_NAME eixsts both in the .config file and in my Elastic Beanstalk settings for this environment


Aucun commentaire:

Enregistrer un commentaire