Laravel не читает переменные env

У кого-нибудь есть проблемы с env переменные? По какой-то причине, helper env('VARIABLE') возвращает null каждый раз, когда я использую его. Это произошло очень неожиданно и я действительно не знаю причину. Перезапуск apache / IDE / компьютера не работает.

2 ответов


решение простое, но ни IDE, ни отладчик ничего об этом не говорят. Он просто возвращается null. Когда вы используете php artisan config:cache, согласно документации:

при выполнении в процессе развертывания, вы должны быть уверены, что вы не только вызов С внутри файлы конфигурации.

очевидно, у меня есть env переменные вне файлов конфигурации, поэтому после кэширования я не был способный использовать его снаружи больше. The php artisan config:clear возвращает его к работе.

что я нашел больше об использовании env, что следует использовать только в конфигурационных файлах. Вы можете получить доступ env переменные от остальной части проекта, используя другой вспомогательный метод config(). Обязательно назначьте его другому ключу в файле конфигурации, например 'key' => env('CACHE_DRIVER')

более того, вы должны помнить, чтобы запустить php artisan config:cache каждый раз вы будете меняться . Что Laravel не будет загрузите новые значения, пока они не будут кэшированы. Если он не кэширован, нет необходимости делать это.


запустите команды

composer dump-autoload
php artisan cache:clear
php artisan config:clear
php artisan view:clear

Теперь попробуйте прочитать

$value = env('VARIABLE_NAME');

если не работает до сих пор

попробовать следующий синтаксис для чтения переменной env.

$value=getenv('VARIABLE_NAME');