我有一个小控制台命令,我想在其中读取一些环境变量,但它似乎没有从.env
文件中读取变量或控制台中的服务器配置(php 文件有效)
编码
protected function execute(InputInterface $input, OutputInterface $output)
{
$io = new SymfonyStyle($input, $output);
$debug = $input->getArgument('debug') === 'y' ? true : false;
$this->project = $input->getArgument('project');
$start = new DateTime();
$debug ? $io->text('<fg=green>Starting upload</>') : null;
dump(getenv('APP_ENV'));
dump(getenv('MAILER_USERNAME'));
die;
...
}
要测试的命令
php bin/console app:make-backup
输出:
Starting upload
false
false
php bin/console app:make-backup --env=prod
输出:
Starting upload
"prod"
false
php bin/console app:make-backup --env=dev
输出:
Starting upload
"dev"
false
.env 文件
APP_ENV=dev
MAILER_USERNAME=info@xxx.com
我看不出我在哪里做错了?nginx 和 apache 服务器上存在问题,但getenv('MAILER_USERNAME')
在任何 php 文件中使用都有效。