Отчаянно ищу непустой $ _ENV в Laravel
У меня выполняется консольная задача:
$schedule->command('process:job')
->cron('* * * * *')
->withoutOverlapping();
Задача запущена, может вызывать разные сервисы, в мире все нормально. Однако у меня есть одна конкретная задача, вызывающая другой класс, в котором конфигурация не загружена.
По определенным причинам я хочу прочитать свою конфигурацию в $_ENV
(это позволяет мне выполнять некоторую итерацию значений ключа и обрабатывать некоторые ключи специально на основе шаблона). Но здесь $_ENV остается пустым, я могу прочитать конфигурацию черезconfig()
или env()
.
Этого никогда не происходит ни через HTTP-вызовы, ни через вызов некоторых командных строк (я не смог понять разницу в вызове планировщика и вызове командной строки).
Laravel 5.6
РЕДАКТИРОВАТЬ: этот вопрос сохранен здесь, потому что мне не удалось найти существующий соответствующий. Почему мой $_ENV пуст?
1 ответ
Нашел свое решение здесь: Почему мой $_ENV пуст?
В основном $_ENV
не заполняется на систематической основе, а только если флаг E
в твоем variables_order
ini переменная. Так что, если вы столкнетесь с одной и той же проблемой, я предлагаю быструю проверку.
var_dump(ini_get('variables_order'));
Очевидно, что исправление заключается в исправлении вашего ini-файла.