Отчаянно ищу непустой $ _ENV в Laravel

У меня выполняется консольная задача:

$schedule->command('process:job')
            ->cron('* * * * *')
            ->withoutOverlapping();

Задача запущена, может вызывать разные сервисы, в мире все нормально. Однако у меня есть одна конкретная задача, вызывающая другой класс, в котором конфигурация не загружена.

По определенным причинам я хочу прочитать свою конфигурацию в $_ENV(это позволяет мне выполнять некоторую итерацию значений ключа и обрабатывать некоторые ключи специально на основе шаблона). Но здесь $_ENV остается пустым, я могу прочитать конфигурацию черезconfig() или env().

Этого никогда не происходит ни через HTTP-вызовы, ни через вызов некоторых командных строк (я не смог понять разницу в вызове планировщика и вызове командной строки).

Laravel 5.6

РЕДАКТИРОВАТЬ: этот вопрос сохранен здесь, потому что мне не удалось найти существующий соответствующий. Почему мой $_ENV пуст?

1 ответ

Решение

Нашел свое решение здесь: Почему мой $_ENV пуст?

В основном $_ENV не заполняется на систематической основе, а только если флаг E в твоем variables_orderini переменная. Так что, если вы столкнетесь с одной и той же проблемой, я предлагаю быструю проверку.

var_dump(ini_get('variables_order'));

Очевидно, что исправление заключается в исправлении вашего ini-файла.

Другие вопросы по тегам