Как остановить Laravel 5 от кеширования конфигураций?
В документации Laravel 5 написано, что php artisan config:cache
сохраняет всю конфигурацию приложения в одном файле, что ускоряет загрузку приложения.
Я хочу знать две вещи:
Во-первых, как заставить Laravel перестать кэшировать конфигурации моего приложения? Например, я хочу, чтобы Laravel прочитал имя моей базы данных и пароль из .env
файл или из database.php
файл конфигурации, а не из кэшированных данных.
Во-вторых, где Laravel хранит этот кэшированный файл конфигурации, чтобы я мог удалить его при необходимости? Я знаю, что есть команда Ремесленника для этого, которая php artisan config:clear
, но я хочу знать, где хранится файл.
1 ответ
Вы не можете остановить кеширование конфигурационных файлов, так как это не происходит автоматически. Единственное, что вам нужно сделать, это не звонить config:cache
,
Сам файл можно найти в bootstrap/cache/config.php
,
Обратите внимание, что местоположение скомпилированного файла конфигурации недавно изменилось. Ваш также может быть в vendor/config.php
или же storage/framework/config.php
, С новой установкой или если вы запускаете composer update
файл должен быть в bootstrap/cache
хоть.
Если вы удалите этот каталог [bootstrap/cache
] в вашем проекте и замените его файлом, тогда никто из команды не сможет случайно кэшировать вашу конфигурацию.
Согласно сообщению здесь: https://github.com/laravel/framework/issues/2501
"Измените драйвер кеша на массив для локальной среды".
Для меня это означает добавление CACHE_DRIVER=array
к моему .env
файл. Затем это подбирается моим файлом config / cache.php, который включает строку:
'default' => env('CACHE_DRIVER', 'file'),
Очевидно, вы можете изменить его прямо в config / cache.php, но я бы предпочел использовать файл.env, чтобы я мог отключить его для сайтов разработки и включить для производства.