Как остановить 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, чтобы я мог отключить его для сайтов разработки и включить для производства.

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