Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

amazon web services - EC2 instances of ElasticBeanstalk are not retrieving the .env variables set in the Beanstalk console for Laravel application in terminal/ ssh

I am deploying a Laravel application to the ElasticBeanstalk. Now, I am trying to SSH into the EC2 instance of my Beanstalk environment and run a command.

php artisan migrate --force

But I cannot run it. The command is failing because it is not getting the environment variables set in the Beanstalk Environment. Here is what I did.

I ssh into the instance. Then I go to the /var/www/html folder. Then I run the "php artisan migrate --force" command. As I mentioned it is failing because it is not getting the database credentials set in the Beanstalk environment. I also tried this.

sudo -u root php artisan migrate --force

The same thing happened. I also played around with tinker in the terminal. When I retrieve the app name like env('APP_NAME'), it is returning null. What is the issue and how can I fix it?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The command is failing because it is not getting the environment variables set in the Beanstalk Environment.

On Amazon Linux 2 (AL2), the EB env variables are stored in /opt/elasticbeanstalk/deployment/env. Thus when you ssh to your EB instance, you can use the following to populate your env variables (need to sudo to root firs):

sudo su 
export $(cat /opt/elasticbeanstalk/deployment/env | xargs)
echo $YOU_ENV_NAME_FORM_EB 

This is undocumented way of doing this on AL2.

Note:

The env variables shouldn't have spaces. Also the file is not immediately available. It gets created when deployment succeeds.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...