当我尝试访问作业中的环境变量(队列是数据库)时,我得到了错误的值。
我正在尝试检索 APP_DEBUG
变量,因为在开发过程中将使用 Windows 程序执行,而在生产系统中使用 Linux 二进制文件。
我已经重新启动了队列,使用了 queue:listen
,并清除了缓存。
我假设 .env
未被队列读取。
我有哪些选择可以解决这种行为? 或者有什么办法可以解决问题?
这是我的代码示例
/**
* Execute the index job.
*/
public function handle()
{
// Some code ...
if (true == env('APP_DEBUG')) {
WindowsFileIndexer::dispatchNow();
} else {
LinuxFileIndexer::dispatchNow();
}
// Some more job calls ...
}
当然我知道我可以通过其他方式(PHP_OS 等)进入操作系统,因此也可以检查它。但是,必须可以在作业中使用环境变量。