我在Amazon ECS的docker上运行PHP背景脚本。我在cron.d中执行的文件如下所示:
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#For Uploading Files
*/2 * * * * root /usr/local/bin/php /path/to/script.sh
# Mandatory blank line
然后在我的脚本中有这个:
#!/bin/bash
source $HOME/.profile
php dosomething.php
在我的php文件中,其内容很简单:
<?php
if(getenv('sometext')){
echo getenv('sometext');
} else {
echo 'ENV does not exist'
}
如果我登录到Docker容器并从命令行运行脚本,则该脚本有效!但是,如果我从中运行它,则会失败,因为永远不会读取env变量。我可能做错了什么?