web-dev-qa-db-fra.com

Comment arrêter Laravel 5 à partir de configurations de mise en cache?

Il est écrit dans Laravel 5 documentation que php artisan config:cache stocke toute la configuration de l'application dans un seul fichier, ce qui accélère le chargement de l'application.

Je veux savoir deux choses:

La première chose à faire est comment forcer Laravel à arrêter de mettre en cache les configurations de mon application? Par exemple, je veux Laravel lire le nom de ma base de données et le mot de passe du .env fichier ou du fichier database.php fichier de configuration, pas à partir des données mises en cache.

Deuxièmement, où Laravel stocke-t-il ce fichier de configuration en cache afin que je puisse le supprimer en cas de besoin? Je sais qu'il existe une commande Artisan pour cela, php artisan config:clear, mais je veux savoir où le fichier est stocké.

48
wessodesigner

Vous ne pouvez pas arrêter la mise en cache des fichiers de configuration car cela ne se produit pas automatiquement. La seule chose à faire est de ne pas appeler config:cache.

Le fichier lui-même peut être trouvé dans bootstrap/cache/config.php.

Note que l'emplacement du fichier de configuration compilé a récemment changé. Le vôtre pourrait aussi être en vendor/config.php ou storage/framework/config.php. Avec une nouvelle installation ou si vous exécutez composer update le fichier doit être en bootstrap/cache bien que.

51
lukasgeiter

Selon le post ici: https://github.com/laravel/framework/issues/2501

"Changer le pilote de cache en tableau pour l'environnement local."

Pour moi, cela implique d'ajouter CACHE_DRIVER=array À mon fichier .env. Ceci est ensuite repris par mon fichier config/cache.php qui inclut la ligne: 'default' => env('CACHE_DRIVER', 'file'),

Évidemment, vous pouvez le changer directement dans config/cache.php mais je préférerais utiliser le fichier .env afin de pouvoir le désactiver pour les sites de développement et l'activer pour la production.

0
Lex