我通过弹性beanstalk上的调度程序运行工匠命令。
弹性beanstalk cronjobs需要传递流程所需的环境变量,如下所示。
* * * * * ec2-user source /opt/elasticbeanstalk/support/envvars; php /var/app/current/artisan schedule:run >> /dev/null 2>&1
/opt/elasticbeanstalk/support/envvars
是导出列表。
这适用于运行调度程序本身的进程,但调度程序在不同的进程上执行命令,因此缺少环境变量。
例如
[ec2-user@ip-x-x-x-x current]$ php artisan schedule:run
Running scheduled command: '/usr/bin/php-7.0' 'artisan' rewards:notify > '/dev/null' 2>&1
然后无权访问环境变量,因为shell似乎没有配置文件的概念,因此不会自动传递.bashrc
等。
如何在我的命令之前从上述文件中获取环境变量?