php - locaweb - laravel run kernel command



Laravel 5-Limpar cache no servidor de hospedagem compartilhada (11)

A questão é bem clara.

php artisan cache:clear

Existe alguma solução para limpar o cache, como acima, estamos 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.

** Desejo limpar o cache de exibições. **

Eu vi uma question quase a mesma coisa, mas isso não me ajuda.

Desde já, obrigado.

https://ffff65535.com


Basicamente eu quero limpar o cache de visualizações.

Existe agora um comando no Laravel 5.1 para esse

php artisan view:clear


Embora eu discorde totalmente da idéia de executar um aplicativo laravel em hospedagem compartilhada (uma idéia ruim por aí), esse pacote provavelmente resolveria seu problema. É um pacote que permite que você execute alguns comandos artisan da web. Está longe de ser perfeito, mas pode funcionar para alguns casos.

https://github.com/recca0120/laravel-terminal


Espero que isso ajude alguém

Vá para laravelFolder/bootstrap/cache e renomeie config.php para qualquer coisa que você queira, por exemplo. config.php_old e recarregue seu site. Isso deve funcionar como vodu.

Codificação Feliz ...


Para limpar todo o cache fora da CLI , faça isso; Isso funciona para mim.

Route::get('/clear', function() {

   Artisan::call('cache:clear');
   Artisan::call('config:clear');
   Artisan::call('config:cache');
   Artisan::call('view:clear');

   return "Cleared!";

});


Você pode chamar um comando Artisan fora do CLI.

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('cache:clear');
    // return what you want
});

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 de visualização. Nem php artisan cache:clear faz isso.

Se você realmente quer limpar o cache de visão, eu acho que você tem que escrever seu próprio comando de artisan e chamá-lo como eu disse antes, ou ignorar completamente o caminho do artisan e limpar o cache de visão em alguma classe que você chamar de um controlador ou rota.

Mas, minha verdadeira pergunta é: você realmente precisa limpar o cache de 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 diretório de vendor é> 40 Mb. Eu não acho que o cache de visualização é um verdadeiro gargalo no uso do disco e nunca tive uma necessidade real de limpá-lo.

Quanto ao cache do aplicativo , ele é armazenado no diretório storage/framework/cache , mas somente se você configurou o driver de file em config/cache.php . Você pode escolher vários drivers diferentes, como Redis ou Memcached , para melhorar o desempenho em um cache baseado em arquivo.


Você pode fazê-lo via roteador também, semelhante à resposta de Francesco, mas com menos confusão na configuração do roteador

Route::get('/artisan/{cmd}', function($cmd) {
    $cmd = trim(str_replace("-",":", $cmd));
    $validCommands = ['cache:clear', 'optimize', 'route:cache', 'route:clear', 'view:clear', 'config:cache'];
    if (in_array($cmd, $validCommands)) {
        Artisan::call($cmd);
        return "<h1>Ran Artisan command: {$cmd}</h1>";
    } else {
        return "<h1>Not valid Artisan command</h1>";
    }
});

Em seguida, execute-os via http://myapp.test/artisan/cache-clear etc. Se você precisar adicionar / editar comandos válidos do Artisan, apenas atualize a matriz $ validCommands.


Você pode se conectar via FTP e limpar a pasta storage\framework\views para o laravel 5 ou app\storage\views para o laravel 4 .


Cache de configuração A configuração do laravel se espalha em 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:

php artisan config:cache

Tenha em mente que quaisquer alterações na configuração não terão efeito algum quando você fizer o 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

php artisan config:clear

Roteamento de rotas O roteamento também é uma tarefa cara em laravel. Para armazenar em cache o arquivo routes.php, execute o comando abaixo:

php artisan route:cache

Lembre-se de que não funciona com fechamentos. Caso você esteja usando encerramentos, esta é uma grande chance de movê-los para um controlador, já que o comando do artesão lançará uma exceção ao tentar compilar as rotas que estão vinculadas a encerramentos, em vez dos métodos apropriados do controlador. Da mesma forma que o cache de configuração, qualquer alteração no arquivo routes.php não terá mais efeito algum. Para atualizar o cache, execute o comando acima toda vez que fizer uma alteração no arquivo de rotas. Para se livrar completamente do cache de rota, execute o comando abaixo:

php artisan route:clear

Otimização de Classmap

Não é incomum que um projeto de tamanho médio seja espalhado por centenas de arquivos PHP. Como os bons comportamentos de codificação nos ditam, tudo tem seu próprio arquivo. Isso, claro, não vem sem inconvenientes. O Laravel precisa incluir dezenas de arquivos diferentes para cada solicitação, o que é uma tarefa cara.

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 outros) e combiná-los em apenas um arquivo, que será posteriormente carregado para cada solicitação. Isso não é diferente de combinar todos os seus arquivos javascript em um, para que o navegador precise fazer menos solicitações ao servidor.

Os arquivos adicionais de compilação (novamente: provedores de serviços, middlewares e assim por diante) devem ser declarados por você em config / compile.php, na chave files. Depois de colocar lá tudo o que é essencial para cada solicitação feita ao seu aplicativo, concatene-os em um arquivo com:

php artisan optimize --force

Otimizando o autoload do compositor

Este não é apenas para o laravel, mas para qualquer aplicação que faça uso do compositor.

Vou explicar primeiro como funciona o autoload do PSR-4 e depois mostrarei qual comando você deve executar para otimizá-lo. Se você não está interessado em saber como o compositor funciona, eu recomendo que você pule diretamente para o comando do console.

Quando você pergunta ao compositor pela classe App\Controllers\AuthController , ele primeiro procura uma associação direta no classmap. O classmap é uma matriz com associações de 1 para 1 de classes e arquivos. Como, é claro, você não adicionou manualmente a classe Login e seu arquivo associado ao classmap, o compositor continuará e pesquisará nos namespaces. Como App é um namespace PSR-4, que vem por padrão com o Laravel e está associado ao 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 adivinha que App\Controllers\AuthController deve estar localizado em um arquivo AuthController.php, que está em uma pasta Controllers/ que deve estar, por sorte, na pasta namespace, que é app/ .

Todo esse trabalho duro apenas para conseguir que a classe App\Controllers\AuthController exista no arquivo app/Controllers/AuthController.php . Para fazer com que o compositor escaneie todo o seu aplicativo e crie associações diretas 1-para-1 de classes e arquivos, execute o seguinte comando:

composer dumpautoload -o

Tenha em mente que se você já executou o php artisan optimize --force, você não precisa mais executar este. Já que o comando otimizar já diz ao compositor para criar um autoload otimizado.


php artisan view:clear

irá limpar as visualizações em cache





command-line-interface