La question est assez claire.
php artisan cache:clear
Existe-t-il une solution de contournement pour vider le cache comme ci-dessus que nous utilisons dans CLI. J'utilise un service d'hébergement partagé populaire, mais selon mon plan, je n'ai pas accès au panneau de contrôle.
** Je souhaite vider le cache des vues. **
J'ai vu une question presque la même que celle-ci, mais cela ne m'aide pas.
php
laravel-5
command-line-interface
Rinto George
la source
la source
Réponses:
Vous pouvez appeler une commande Artisan en dehors de la CLI.
Vous pouvez consulter la documentation officielle ici http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli
Mettre à jour
Il n'existe aucun moyen de supprimer le cache de vue. Ni le
php artisan cache:clear
fait que.Si vous voulez vraiment effacer le cache de vue, je pense que vous devez écrire votre propre
artisan
commande et l'appeler comme je l'ai déjà dit, ou ignorer complètement leartisan
chemin et effacer le cache de vue dans une classe que vous appelez depuis un contrôleur ou une route.Mais ma vraie question est de savoir si vous avez vraiment besoin de vider le cache de vue ? 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
vendor
répertoire est> 40 Mo. Je ne pense pas que le cache de vue soit un véritable goulot d'étranglement dans l'utilisation du disque et que je n'ai jamais eu vraiment besoin de l'effacer.Quant au cache de l' application , il est stocké dans le
storage/framework/cache
répertoire, mais uniquement si vous avez configuré lefile
pilote dansconfig/cache.php
. Vous pouvez choisir de nombreux pilotes différents, tels que Redis ou Memcached , pour améliorer les performances sur un cache basé sur des fichiers.la source
cache:clear
commande fonctionne avec le cache de l' application , celui auquel on accède depuis laCache
façade.J'espère que ça aidera quelqu'un
Allez
laravelFolder/bootstrap/cache
puis renommez-leconfig.php
en tout ce que vous voulez, par exemple.config.php_old
et rechargez votre site. Cela devrait fonctionner comme du vaudou.Codage heureux ...
la source
cache
dossier et.env
la valeur de cache par défaut du fichier. Mais après avoir supprimé tout ce problème à nouveau .. quandphp artisan optimize
. Enfin, celui-ci a résolu mon problème, non pas en renommant mais en modifiant la valeur de clé dans le fichier config.php. Merci @DeadGuyComme je peux le voir: http://itsolutionstuff.com/post/laravel-5-clear-cache-from-route-view-config-and-all-cache-data-from-applicationexample.html
est-il possible d'utiliser le code ci-dessous avec les nouvelles commandes d'effacement du cache:
Il n'est pas nécessaire de donner la possibilité de vider les caches à tout le monde, en particulier dans un environnement de production, je suggère donc de commenter ces routes et, si nécessaire, de dé-commenter le code et d'exécuter les routes.
la source
Mise en cache de la configuration La configuration de laravel s'étend sur des dizaines de fichiers, et
including
chacun d'entre eux pour chaque requête est un processus coûteux. Pour combiner tous vos fichiers de configuration en un seul, utilisez:Gardez à l'esprit que toute modification apportée à la configuration n'aura aucun effet une fois que vous l'aurez mise en cache. Pour actualiser le cache de configuration, exécutez à nouveau la commande ci-dessus. Si vous souhaitez vous débarrasser complètement du cache de configuration, exécutez
Mise en cache des routes Le routage est également une tâche coûteuse dans laravel. Pour mettre en cache le fichier routes.php, exécutez la commande ci-dessous:
Notez que cela ne fonctionne pas avec les fermetures. Si vous utilisez des fermetures, c'est une excellente chance de les déplacer dans un contrôleur, car la commande artisan lèvera une exception en essayant de compiler des routes liées à des fermetures au lieu de méthodes de contrôleur appropriées. De la même manière que le cache de configuration, toute modification apportée à routes.php n'aura plus aucun effet. Pour actualiser le cache, exécutez la commande ci-dessus à chaque fois que vous modifiez le fichier de routes. Pour vous débarrasser complètement du cache d'itinéraire, exécutez la commande ci-dessous:
Optimisation de la carte de classe
Il n'est pas rare qu'un projet de taille moyenne soit réparti sur des centaines de fichiers PHP. Comme nous le dictent les bons comportements de codage, tout a son propre fichier. Ceci, bien entendu, n'est pas sans inconvénients. Laravel doit inclure des dizaines de fichiers différents pour chaque requête, ce qui est une opération coûteuse.
Par conséquent, une bonne méthode d'optimisation consiste à déclarer quels fichiers sont utilisés pour chaque requête (il s'agit, par exemple, de tous vos fournisseurs de services, middlewares et quelques autres) et de les combiner dans un seul fichier, qui sera ensuite chargé pour chaque requête. Ce n'est pas différent de combiner tous vos fichiers javascript en un seul, de sorte que le navigateur devra faire moins de requêtes au serveur.
Les fichiers de compilation supplémentaires (encore une fois: fournisseurs de services, middlewares, etc.) doivent être déclarés par vous dans config / compile.php, dans la clé files. Une fois que vous y avez mis tout ce qui est essentiel pour chaque demande faite à votre application, concaténez-les dans un seul fichier avec:
Optimisation du chargement automatique du composeur
Celui-ci n'est pas seulement pour laravel, mais pour toute application utilisant composer.
Je vais d'abord expliquer comment fonctionne le chargement automatique du PSR-4, puis je vous montrerai quelle commande vous devez exécuter pour l'optimiser. Si vous n'êtes pas intéressé par le fonctionnement de composer, je vous recommande de passer directement à la commande console.
Lorsque vous demandez à composer la
App\Controllers\AuthController
classe, il recherche d'abord une association directe dans le classmap. Le classmap est un tableau avec des associations 1 à 1 de classes et de fichiers. Puisque, bien sûr, vous n'avez pas ajouté manuellement la classe Login et son fichier associé au classmap, composer continuera et recherchera dans les espaces de noms. Étant donné que App est un espace de noms PSR-4, fourni par défaut avec Laravel et associé auapp/
dossier, composer essaiera de convertir le nom de la classe PSR-4 en nom de fichier avec des procédures de manipulation de chaîne de base. En fin de compte, il suppose que celaApp\Controllers\AuthController
doit être situé dans un fichier AuthController.php, qui se trouve dans unControllers/
dossier qui devrait heureusement se trouver dans le dossier de l'espace de noms, qui estapp/
.Tout ce travail acharné uniquement pour obtenir que la
App\Controllers\AuthController
classe existe dans leapp/Controllers/AuthController.php
fichier. Pour que le compositeur analyse l'intégralité de votre application et crée des associations directes 1 à 1 de classes et de fichiers, exécutez la commande suivante:Gardez à l'esprit que si vous avez déjà exécuté php artisan Optimize --force, vous n'avez plus besoin d'exécuter celui-ci. Étant donné que la commande d'optimisation indique déjà au compositeur de créer un chargement automatique optimisé.
la source
Ce paquet est pour php ^ 7.0 et ^ laravel5.5 .
Utilisez ce package dans cronjob que j'ai créé à cet effet uniquement. J'étais également confronté à la même situation. https://packagist.org/packages/afrazahmad/clear-cached-data Installez-le et exécutez:
et il exécutera les commandes suivantes automatiquement
J'espère que ça aide.
Si vous voulez l'exécuter automatiquement à un moment précis, vous devrez d'abord configurer crnjob. par exemple
En fonction de planification:
la source
Il y a maintenant une commande dans Laravel 5.1 pour cela
la source
Vous pouvez vous connecter via FTP et effacer le
storage\framework\views
dossier pourlaravel 5
ouapp\storage\views
pourlaravel 4
.la source
Pour effacer tout le cache en dehors de la CLI , procédez comme suit ; Cela fonctionne pour moi.
la source
config:cache
va effacer et mettre en cache la configuration - donc je suppose qu'il n'est pas nécessaire d'ajouter les deuxeffacera les vues mises en cache
la source
php artisan cache:clear
est demandée. Cela n'effacera pas le cache affiché stocké dans le dossier de stockage, ce qui est exactement ce dont vous avez besoin.Vous pouvez le faire si vous utilisez
Lumen
fromLaravel
sur votreroutes/web.php
fichier:la source
Vous pouvez également le faire via un routeur, similaire à la réponse Francesco mais avec moins d'encombrement dans la configuration du routeur
Ensuite, exécutez-les via http: //myapp.test/artisan/cache-clear etc Si vous avez besoin d'ajouter / modifier des commandes Artisan valides, mettez simplement à jour le tableau $ validCommands.
la source
Cela a fonctionné pour moi. Dans votre projet, accédez à: stockage> cadre> vues. Supprimez tous les fichiers et actualisez votre page.
la source
Essayez ceci aussi
pour cli
php artisan clear: cache
pour utiliser la commande artisan
});
[ https://www.tutsmake.com/laravel-clear-cache-using-artisan-command-cli/—2012[1]
la source
J'ai utilisé cette page à quelques reprises pour copier et coller des commandes rapides dans composer, j'ai donc écrit une commande qui exécute ces commandes en une seule commande artisanale.
Placer dans le
app\Console\Commands\Admin
dossierpuis exécutez la commande dans composer
php artisan traqza:clear-everything
Bon codage.
Github -> https://github.com/Traqza/clear-everything
la source
Bien que je ne sois pas du tout d'accord avec l'idée d'exécuter une application laravel sur un hébergement partagé (une mauvaise idée tout autour), ce package résoudrait probablement votre problème. C'est un package qui vous permet d'exécuter des commandes artisanales à partir du Web. C'est loin d'être parfait, mais peut fonctionner pour certains cas d'utilisation.
https://github.com/recca0120/laravel-terminal
la source
Cache :: flush (); https://laravel.com/docs/5.7/cache#events Ce travail dans la classe Handler étend ExceptionHandler
la source
Je pense que l'approche la plus efficace consiste à utiliser le module de travail cron dans le panneau d'administration du serveur partagé pour exécuter la commande laravel scheduler qui appellera à son tour la commande artisan configurée, quelque chose comme celui-ci devrait faire le travail:
Avec la configuration du planificateur dans cron, vous pouvez modifier la méthode de planification dans \ App \ Console \ Kernel.php pour appeler la bonne commande artisan, quelque chose comme ceci:
Vous pouvez toujours supprimer les lignes ci-dessus après l'exécution des commandes
la source