La question est assez claire.
php artisan cache:clear
Existe-t-il une solution de contournement pour vider le cache comme ci-dessus, en utilisant le CLI ? J'utilise un service d'hébergement mutualisé populaire, mais selon mon plan, je n'ai pas accès au panneau de contrôle.
** Je veux vider le cache des vues.
J'ai vu une [question][1] presque identique à celle-ci, mais elle ne m'aide pas.
[1] : https://stackoverflow.com/questions/29152102/laravel-5-clear-views-cache
Vous pouvez appeler une commande Artisan en dehors de l'interface CLI.
Route::get('/clear-cache', function() {
$exitCode = Artisan::call('cache:clear');
// return what you want
});
Vous pouvez consulter la documentation officielle ici http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli
Mise à jour
Il n'y a aucun moyen de supprimer le cache de la vue. Ni php artisan cache:clear
ne le fait.
Si vous voulez vraiment effacer le cache de la vue, je pense que vous devez écrire votre propre commande artisan
et l'appeler comme je l'ai dit auparavant, ou bien ignorer complètement le chemin artisan
et effacer le cache de la vue dans une classe que vous appelez depuis un contrôleur ou une route.
Mais ma vraie question est la suivante : Avez-vous vraiment besoin de vider le cache d'affichage ? Dans un projet sur lequel je travaille actuellement, j'ai presque 100 vues en cache et elles pèsent moins de 1 Mo, alors que mon répertoire vendor
pèse 40 Mo. Je ne pense pas que le cache des vues soit un véritable goulot d'étranglement en termes d'utilisation du disque et je n'ai jamais eu besoin de le vider.
Quant au cache des applications, il est stocké dans le répertoire storage/framework/cache
, mais seulement si vous avez configuré le pilote file
dans config/cache.php
. Vous pouvez choisir de nombreux pilotes différents, comme Redis ou Memcached, pour améliorer les performances par rapport à un cache basé sur des fichiers.