我执行了控制台任务:
$schedule->command('process:job')
->cron('* * * * *')
->withoutOverlapping();
任务正在运行,它可以调用不同的服务,世界上一切都很好。但是,我有一个特定的任务要调用另一个未加载配置的类。
出于特定原因,我希望阅读$_ENV
中的配置(它允许我执行一些键值迭代并专门基于模式来处理一些键)。但是这里$ _ENV仍然为空,我可以通过config()
或env()
读取配置。
这永远不会通过HTTP调用或某些命令行调用发生(我无法理解调度程序调用和命令行调用之间的区别)。
Laravel 5.6
编辑:此处保留此问题,因为我没有找到现有的相关this
答案 0 :(得分:0)
在这里找到我的解决方案:Why is my $_ENV empty?
基本上$_ENV
不会系统地填充,而是仅在您的E
ini变量中包含标志variables_order
的情况下。因此,如果您遇到相同的问题,我建议您进行快速检查。
var_dump(ini_get('variables_order'));
修复显然是为了修复您的ini文件。