Wai*_*ein 4 amazon-ec2 amazon-web-services laravel amazon-elastic-beanstalk
我正在将 Laravel 应用程序部署到 ElasticBeanstalk。现在,我尝试通过 SSH 连接到 Beanstalk 环境的 EC2 实例并运行命令。
php artisan migrate --force
Run Code Online (Sandbox Code Playgroud)
但我不能运行它。该命令失败,因为它没有获取在 Beanstalk 环境中设置的环境变量。这是我所做的。
我通过 ssh 进入实例。然后我转到 /var/www/html 文件夹。然后我运行“php artisan migrate --force”命令。正如我所提到的,它失败了,因为它没有获取在 Beanstalk 环境中设置的数据库凭据。我也试过这个。
sudo -u root php artisan migrate --force
Run Code Online (Sandbox Code Playgroud)
同样的事情发生了。我还在终端玩弄修补匠。当我检索像 env('APP_NAME') 这样的应用程序名称时,它返回 null。这是什么问题,我该如何解决?
该命令失败,因为它没有获取在 Beanstalk 环境中设置的环境变量。
在Amazon Linux 2 (AL2) 上,EB 环境变量存储在/opt/elasticbeanstalk/deployment/env
. 因此,当您通过 ssh 连接到您的 EB 实例时,您可以使用以下内容来填充您的 env 变量(需要 sudo 到 root firs):
sudo su
export $(cat /opt/elasticbeanstalk/deployment/env | xargs)
echo $YOU_ENV_NAME_FORM_EB
Run Code Online (Sandbox Code Playgroud)
这是在 AL2 上执行此操作的未记录方式。
笔记:
env 变量不应该有空格。此外,该文件不是立即可用的。它在部署成功时被创建。
归档时间: |
|
查看次数: |
723 次 |
最近记录: |