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');