A questão é bem clara.
php artisan cache:clear
Existe alguma solução alternativa para limpar o cache como acima, usando na CLI. Estou usando um serviço de hospedagem compartilhada popular, mas de acordo com meu plano, não tenho acesso ao painel de controle.
** Quero limpar o cache de visualizações. **
Eu vi uma pergunta quase igual a essa, mas isso não me ajuda.
php
laravel-5
command-line-interface
Rinto George
fonte
fonte
Respostas:
Você pode chamar um comando Artisan fora da CLI.
Você pode verificar o documento oficial aqui http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli
Atualizar
Não há como excluir o cache da visualização. Nem
php artisan cache:clear
isso.Se você realmente deseja limpar o cache de visualização, acho que você deve escrever seu próprio
artisan
comando e chamá-lo como eu disse antes, ou pular completamente oartisan
caminho e limpar o cache de visualização em alguma classe que você chama de um controlador ou rota.Mas, minha verdadeira pergunta é: você realmente precisa limpar o cache da visualização ? Em um projeto em que estou trabalhando agora, tenho quase 100 visualizações em cache e elas pesam menos de 1 Mb, enquanto meu
vendor
diretório é> 40 Mb. Não acho que o cache de exibição seja um gargalo real no uso do disco e nunca houve uma necessidade real de limpá-lo.Quanto ao cache do aplicativo , ele é armazenado no
storage/framework/cache
diretório, mas somente se você configurou ofile
driverconfig/cache.php
. Você pode escolher muitos drivers diferentes, como Redis ou Memcached , para melhorar o desempenho em um cache baseado em arquivo.fonte
cache:clear
comando funciona com o cache do aplicativo , aquele acessado a partir daCache
fachada.Espero que isso ajude alguém
Vá para
laravelFolder/bootstrap/cache
renomearconfig.php
para o que quiser, por exemplo.config.php_old
e recarregue seu site. Isso deve funcionar como vodu.Feliz codificação ...
fonte
cache
pasta e.env
o valor padrão do cache do arquivo. Mas depois de excluir tudo isso ficando problema novamente .. quandophp artisan optimize
. Finalmente, este resolveu meu problema, não renomeando, mas alterando o valor da chave no arquivo config.php. Obrigado @DeadGuyComo posso ver: http://itsolutionstuff.com/post/laravel-5-clear-cache-from-route-view-config-and-all-cache-data-from-applicationexample.html
é possível usar o código abaixo com os novos comandos de limpeza de cache:
Não é necessário dar a possibilidade de limpar os caches para todos, especialmente em um ambiente de produção, por isso sugiro comentar essas rotas e, quando necessário, descomentar o código e executar as rotas.
fonte
Cache de configuração A configuração do laravel se espalha por dezenas de arquivos, e
including
cada um deles para cada solicitação é um processo caro. Para combinar todos os seus arquivos de configuração em um, use:Lembre-se de que quaisquer alterações na configuração não terão efeito depois que você a armazenar em cache. Para atualizar o cache de configuração, execute o comando acima novamente. Caso você queira se livrar completamente do cache de configuração, execute
Cache de rotas O roteamento também é uma tarefa cara no laravel. Para armazenar em cache o arquivo routes.php, execute o comando abaixo:
Lembre-se de que não funciona com fechamentos. Caso você esteja usando closures, é uma ótima chance de movê-los para um controlador, pois o comando artisan lançará uma exceção ao tentar compilar rotas que estão vinculadas a closures em vez de métodos apropriados de controller. Da mesma forma que o cache de configuração, quaisquer alterações no routes.php não terão mais efeito. Para atualizar o cache, execute o comando acima sempre que fizer uma alteração no arquivo de rotas. Para se livrar completamente do cache da rota, execute o comando abaixo:
Otimização de Classmap
Não é incomum que um projeto de tamanho médio se espalhe por centenas de arquivos PHP. Como bons comportamentos de codificação nos ditam, tudo tem seu próprio arquivo. Obviamente, isso não vem sem inconvenientes. O Laravel precisa incluir dezenas de arquivos diferentes para cada solicitação, o que é uma coisa cara a se fazer.
Portanto, um bom método de otimização é declarar quais arquivos são usados para cada solicitação (isto é, por exemplo, todos os seus provedores de serviços, middlewares e mais alguns) e combiná-los em apenas um arquivo, que será carregado posteriormente para cada solicitação. Isso não é diferente de combinar todos os seus arquivos javascript em um, portanto, o navegador precisará fazer menos solicitações ao servidor.
Os arquivos de compilação adicionais (novamente: provedores de serviços, middlewares e assim por diante) devem ser declarados por você em config / compile.php, na chave de arquivos. Depois de colocar lá tudo o essencial para cada solicitação feita ao seu aplicativo, concatene-os em um arquivo com:
Otimizando o carregamento automático do compositor
Este não é apenas para o laravel, mas para qualquer aplicativo que esteja usando o compositor.
Vou explicar primeiro como o PSR-4 carrega automaticamente, e depois mostrarei qual comando você deve executar para otimizá-lo. Se você não estiver interessado em saber como o compositor funciona, eu recomendo que você pule diretamente para o comando do console.
Quando você pergunta à compositora sobre a
App\Controllers\AuthController
turma, ela primeiro procura uma associação direta no mapa de turmas. O mapa de classe é uma matriz com associações 1 a 1 de classes e arquivos. Como, obviamente, você não adicionou manualmente a classe Login e seu arquivo associado ao mapa de classes, o compositor seguirá em frente e pesquisará nos espaços para nome. Como o App é um espaço de nome PSR-4, que vem por padrão com o Laravel e está associado àapp/
pasta, o compositor tentará converter o nome da classe PSR-4 em um nome de arquivo com procedimentos básicos de manipulação de string. No final, ele acha queApp\Controllers\AuthController
deve estar localizado em um arquivo AuthController.php, que está em umaControllers/
pasta que deve estar felizmente na pasta de namespace, que estáapp/
.Todo esse trabalho duro apenas para obter que a
App\Controllers\AuthController
classe exista noapp/Controllers/AuthController.php
arquivo. Para que o compositor verifique todo o aplicativo e crie associações diretas 1 a 1 de classes e arquivos, execute o seguinte comando:Lembre-se de que se você já executou o php artisan optimize --force, não precisará mais executar este. Como o comando otimizar já diz ao compositor para criar um carregamento automático otimizado.
fonte
Este pacote é para php ^ 7.0 e ^ laravel5.5 .
Use este pacote no cronjob que eu criei apenas para esse fim. Eu também estava enfrentando a mesma situação. https://packagist.org/packages/afrazahmad/clear-cached-data Instale e execute:
e ele executará os seguintes comandos automaticamente
Espero que ajude.
Se você deseja executá-lo automaticamente em um horário específico, precisará primeiro configurar o crnjob. por exemplo
Na função de programação:
fonte
Agora existe um comando no Laravel 5.1 para esse
fonte
Você pode se conectar via FTP e limpar a
storage\framework\views
pasta paralaravel 5
ouapp\storage\views
paralaravel 4
.fonte
Para limpar todo o cache fora da CLI , faça isso; Isso funciona para mim.
fonte
config:cache
irá limpar e configuração de cache - então eu acho que não há necessidade de adicionar tantolimpará as visualizações em cache
fonte
php artisan cache:clear
é solicitada. Isso não limpa o cache visualizado armazenado na pasta de armazenamento, exatamente o que é necessário.Você pode fazer isso se você estiver usando
Lumen
a partirLaravel
do seuroutes/web.php
arquivo:fonte
Você também pode fazer isso via roteador, semelhante à resposta de Francesco, mas com menos confusão na configuração do roteador
Em seguida, execute-os acessando http: //myapp.test/artisan/cache-clear etc. Se você precisar adicionar / editar comandos válidos do Artisan, atualize a matriz $ validCommands.
fonte
Isso funcionou para mim. No seu projeto, acesse: storage> framework> views. Exclua todos os arquivos e atualize sua página.
fonte
Tente isso também
para CLI
artesão php clear: cache
para usar o comando artisan
});
[ https://www.tutsmake.com/laravel-clear-cache-using-artisan-command-cli/[[1]
fonte
Usei esta página algumas vezes para copiar e colar comandos rápidos no compositor, então escrevi um comando que executa esses comandos em um único comando artesanal.
Coloque na
app\Console\Commands\Admin
pastaem seguida, execute o comando no compositor
php artisan traqza:clear-everything
Feliz codificação.
Github -> https://github.com/Traqza/clear-everything
fonte
Embora eu discorde totalmente da idéia de executar um aplicativo laravel em hospedagem compartilhada (uma má idéia ao redor), este pacote provavelmente resolveria o seu problema. É um pacote que permite executar alguns comandos artesanais da web. Está longe de ser perfeito, mas pode funcionar para alguns casos de uso.
https://github.com/recca0120/laravel-terminal
fonte
Cache :: flush (); https://laravel.com/docs/5.7/cache#events Este trabalho na classe Handler estende ExceptionHandler
fonte
Acredito que a abordagem mais eficiente para isso é usar o módulo cron job no painel de administração do servidor compartilhado para executar o comando laravel scheduler, que por sua vez chamará o comando artesão configurado, algo como isto deve fazer o trabalho:
Com a configuração do agendador no cron, você pode editar o método de agendamento em \ App \ Console \ Kernel.php para chamar o comando artesão correto, algo como isto:
Você sempre pode excluir as linhas acima após a execução dos comandos
fonte