Je développe un projet Laravel (5.2.29) dans un environnement Windows et le teste dans un navigateur Chrome.
J'ai apporté des modifications à un fichier Blade à l'aide de l'éditeur de texte Atom, puis j'ai actualisé ma page et constaté que, soudainement, les modifications ne sont plus reflétées (le chargement de l'ancien fichier Blade est en cours.
J'ai essayé ce qui suit:
php artisan cache:clear
composer dumpautoload
Quoi qu'il en soit, le code affiché sur le navigateur est toujours la même version (ancienne) et non le contenu du fichier Blade.
Comment puis-je résoudre ce problème?
Afin d'éviter l'analyse des fichiers Blade à chaque rechargement, Laravel met en cache les vues après le traitement de Blade. J'ai rencontré des situations dans lesquelles le fichier source est mis à jour mais le fichier de cache n'est pas "rechargé". Dans ce cas, tout ce que vous avez à faire est de supprimer les vues en cache et de recharger la page.
Les fichiers de vue mis en cache sont stockés dans storage/framework/views
.
Exécuter cette commande depuis le terminal
php artisan view:clear
Si vous utilisez PHPStorm, désactivez l'option de déploiement Preserve files timestamps
: https://stackoverflow.com/a/42534996/2453148
Vous pouvez également vérifier si opcache
est activé. Dans ce cas, vous devez effacer votre cache opcache.
Sinon, si d'autres méthodes suggérées ne fonctionnent pas, vous pouvez renommer vos fichiers sous des noms différents. Actualisez leurs pages Web correspondantes pour commencer à utiliser une nouvelle référence de nom de fichier. Ensuite, vous pouvez renommer les fichiers en vos noms préférés après les nouvelles pages pour refléter leurs modifications.
Effacez le cache et effacez les fichiers de la lame en cache:
php artisan cache:clear
php artisan config:clear
php artisan view:clear