Arquivos css e js não são atualizados pelo navegador após modificações

317 views
Skip to first unread message

Luiz Ricardo

unread,
Mar 10, 2015, 7:52:00 AM3/10/15
to cakep...@googlegroups.com
Bom dia galera, sou novo no cakephp e estou tendo um problema que já tira meu sono há alguns dias. Eu pesquisei várias soluções, porém nenhuma resolveu. Quando eu modifico algum arquivo js ou css, essas modificações não são submetidas para o navegador, ele carrega a versão mais antiga do arquivo.

Alguém já teve esse problema? Se alguém puder me ajudar ficarei muito grato!!!


Fabricio Henrique Batista do Nascimento

unread,
Mar 10, 2015, 8:20:18 AM3/10/15
to cakep...@googlegroups.com
No arquivo core.php, precisa descomentar essa linha Configure::write('Asset.timestamp', true);
Assim ele adiciona o timestamp do arquivo, claro se estiver utilizando o Html Helper
fica algo como <script type="text/javascript" src="/js/seu_js.?c1be6c63be0881f82b8cdfb"></script>
Isso vale tanto para imagens, css e javascript, como ele coloca o timestamp da modificação, a cada alteração ele gera um novo e o navegador irá entender que tem que baixar de novo o arquivo e não buscar no cache.


Em 10 de março de 2015 08:52, Luiz Ricardo <lzricar...@gmail.com> escreveu:
Bom dia galera, sou novo no cakephp e estou tendo um problema que já tira meu sono há alguns dias. Eu pesquisei várias soluções, porém nenhuma resolveu. Quando eu modifico algum arquivo js ou css, essas modificações não são submetidas para o navegador, ele carrega a versão mais antiga do arquivo.

Alguém já teve esse problema? Se alguém puder me ajudar ficarei muito grato!!!


--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+...@googlegroups.com.
Para publicar uma mensagem neste grupo, envie um email para cakep...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt.
Para mais opções, visite https://groups.google.com/d/optout.

Luiz Ricardo

unread,
Mar 10, 2015, 8:24:18 AM3/10/15
to cakep...@googlegroups.com
Cara, muito obrigado! Mas está linha já está descomentada, e eu utilizo o html helper para chamar os arquivos do tipo css e js, mas mesmo assim continua sem funcionar...

Recebeu esta mensagem porque subscreveu um tópico no grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste tópico, visite https://groups.google.com/d/topic/cakephp-pt/WnK7G5wcrjM/unsubscribe.
Para anular a subscrição deste grupo e de todos os seus tópicos, envie um email para cakephp-pt+...@googlegroups.com.

Para publicar uma mensagem neste grupo, envie um email para cakep...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt.
Para mais opções, visite https://groups.google.com/d/optout.



--
Att, Luiz Ricardo.

Universidade Estadual de Feira de Santana(UEFS).
Graduando em Engenharia de Computação.

Luiz Ricardo

unread,
Mar 10, 2015, 8:27:09 AM3/10/15
to cakep...@googlegroups.com
Será que meu problema está na habilitação do mod rewrite? Pois estou utilizando o nginx como servidor.

Leandro Machado Pereira

unread,
Mar 10, 2015, 7:37:42 PM3/10/15
to cakep...@googlegroups.com

Cache do navegador. Limpa o cache

Em ter, 10 de mar de 2015 09:27, Luiz Ricardo <lzricar...@gmail.com> escreveu:

Será que meu problema está na habilitação do mod rewrite? Pois estou utilizando o nginx como servidor.

Em 10 de março de 2015 09:24, Luiz Ricardo <lzricar...@gmail.com> escreveu:
Cara, muito obrigado! Mas está linha já está descomentada, e eu utilizo o html helper para chamar os arquivos do tipo css e js, mas mesmo assim continua sem funcionar...
Em 10 de março de 2015 09:20, Fabricio Henrique Batista do Nascimento <fadonas...@gmail.com> escreveu:
No arquivo core.php, precisa descomentar essa linha Configure::write('Asset.timestamp', true);
Assim ele adiciona o timestamp do arquivo, claro se estiver utilizando o Html Helper
fica algo como <script type="text/javascript" src="/js/seu_js.?c1be6c63be0881f82b8cdfb"></script>
Isso vale tanto para imagens, css e javascript, como ele coloca o timestamp da modificação, a cada alteração ele gera um novo e o navegador irá entender que tem que baixar de novo o arquivo e não buscar no cache.

Em 10 de março de 2015 08:52, Luiz Ricardo <lzricar...@gmail.com> escreveu:
Bom dia galera, sou novo no cakephp e estou tendo um problema que já tira meu sono há alguns dias. Eu pesquisei várias soluções, porém nenhuma resolveu. Quando eu modifico algum arquivo js ou css, essas modificações não são submetidas para o navegador, ele carrega a versão mais antiga do arquivo.

Alguém já teve esse problema? Se alguém puder me ajudar ficarei muito grato!!!


--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+unsubscribe@googlegroups.com.

Para publicar uma mensagem neste grupo, envie um email para cakep...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt.
Para mais opções, visite https://groups.google.com/d/optout.

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu um tópico no grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste tópico, visite https://groups.google.com/d/topic/cakephp-pt/WnK7G5wcrjM/unsubscribe.
Para anular a subscrição deste grupo e de todos os seus tópicos, envie um email para cakephp-pt+unsubscribe@googlegroups.com.

Para publicar uma mensagem neste grupo, envie um email para cakep...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt.
Para mais opções, visite https://groups.google.com/d/optout.



--
Att, Luiz Ricardo.

Universidade Estadual de Feira de Santana(UEFS).
Graduando em Engenharia de Computação.



--
Att, Luiz Ricardo.

Universidade Estadual de Feira de Santana(UEFS).
Graduando em Engenharia de Computação.

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+unsubscribe@googlegroups.com.

Matheus Pereira Luz

unread,
Mar 11, 2015, 8:08:32 AM3/11/15
to cakep...@googlegroups.com
Também acho que deve ser cache.
Segura o shift e clique com o mouse na flecha para atualizar a página.



Em terça-feira, 10 de março de 2015 20:37:42 UTC-3, Leandro Pereira escreveu:

Cache do navegador. Limpa o cache

Em ter, 10 de mar de 2015 09:27, Luiz Ricardo <lzricar...@gmail.com> escreveu:

Será que meu problema está na habilitação do mod rewrite? Pois estou utilizando o nginx como servidor.

Em 10 de março de 2015 09:24, Luiz Ricardo <lzricar...@gmail.com> escreveu:
Cara, muito obrigado! Mas está linha já está descomentada, e eu utilizo o html helper para chamar os arquivos do tipo css e js, mas mesmo assim continua sem funcionar...
Em 10 de março de 2015 09:20, Fabricio Henrique Batista do Nascimento <fadonas...@gmail.com> escreveu:
No arquivo core.php, precisa descomentar essa linha Configure::write('Asset.timestamp', true);
Assim ele adiciona o timestamp do arquivo, claro se estiver utilizando o Html Helper
fica algo como <script type="text/javascript" src="/js/seu_js.?c1be6c63be0881f82b8cdfb"></script>
Isso vale tanto para imagens, css e javascript, como ele coloca o timestamp da modificação, a cada alteração ele gera um novo e o navegador irá entender que tem que baixar de novo o arquivo e não buscar no cache.

Em 10 de março de 2015 08:52, Luiz Ricardo <lzricar...@gmail.com> escreveu:
Bom dia galera, sou novo no cakephp e estou tendo um problema que já tira meu sono há alguns dias. Eu pesquisei várias soluções, porém nenhuma resolveu. Quando eu modifico algum arquivo js ou css, essas modificações não são submetidas para o navegador, ele carrega a versão mais antiga do arquivo.

Alguém já teve esse problema? Se alguém puder me ajudar ficarei muito grato!!!


--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+...@googlegroups.com.

Para publicar uma mensagem neste grupo, envie um email para cakep...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt.
Para mais opções, visite https://groups.google.com/d/optout.

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu um tópico no grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste tópico, visite https://groups.google.com/d/topic/cakephp-pt/WnK7G5wcrjM/unsubscribe.
Para anular a subscrição deste grupo e de todos os seus tópicos, envie um email para cakephp-pt+...@googlegroups.com.

Para publicar uma mensagem neste grupo, envie um email para cakep...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt.
Para mais opções, visite https://groups.google.com/d/optout.



--
Att, Luiz Ricardo.

Universidade Estadual de Feira de Santana(UEFS).
Graduando em Engenharia de Computação.



--
Att, Luiz Ricardo.

Universidade Estadual de Feira de Santana(UEFS).
Graduando em Engenharia de Computação.

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+...@googlegroups.com.

Pedro Soares

unread,
Mar 11, 2015, 9:37:53 AM3/11/15
to cakep...@googlegroups.com

Limpa a cache e os arquivos na past temp. Emnqual server vc hospedou? E como ta udando o nginx? Ja tentei usalo semnsucesso. Pode me mandar as config dele?

Luiz Ricardo

unread,
Mar 11, 2015, 10:51:56 AM3/11/15
to cakep...@googlegroups.com
Leandro e Matheus, muito obrigado pela ajuda, mas por exemplo, qualquer modificação que eu fizer em um css ou js eu vou ter que ficar apagando cache toda hora? Ou como o Pedro falou, apagar os arquivos da pasta temp? Isso se torna meio cansativo. Eu trabalho em outro projeto com zend + php + apache e não preciso ficar limpando cache quando altero algo, já tentei quase todas as soluções, a única que resta é desativar que o navegador utilize o cache pelo menos nessa parte de desenvolvimento.

Pedro, como o projeto está em desenvolvimento ele ainda está local, mas creio que a configuração não seja tão diferente de quando estiver em produção. Eu faço uso do vagrant + virtualbox, o que eu fiz? eu criei uma box com o linux ubuntu 12.04.5 LTS 64bits com nginx + mysql + php-fpm + cakephp, isso ajuda na portabilidade e para fazer o backup da aplicação (configuração entre outras coisas importantes) quando está em desenvolvimento, entre muitas outras vantagens. Segue a configuração do nginx, caso seja de sua vontade, eu posso upar a box com tudo configurado já no dropbox.

server {  
  listen 80 ;

  server_name localhost;    

  root /var/www/nema/app/webroot;
  index index.html index.php;

  location / {
   try_files $uri $uri/ /index.php$is_args$args;

   if (-f $request_filename) {
       break;
   }
   if (!-f $request_filename) {
      rewrite ^/(.+)$ /index.php?url=$1 last;
      break;
   }

   set $new_uri $uri;
  }

  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param PATH_INFO $new_uri;
  }

  location ~ /(\.ht|\.git|\.svn) {
    deny  all;
  }

}

Fico no aguardo se alguém tiver mais alguma solução para meu problema, muito obrigado!

Fabio 神風 Jr.

unread,
Mar 11, 2015, 1:01:04 PM3/11/15
to cakep...@googlegroups.com
Boa tarde!

Estou usando o Nginx também, mas rodando local.

E, não é "custoso" pressionar CTRL + F5 para atualizar o cache a cada vez que preciso testar alterações.

PS.: No CakePHP 3 (que não deve ser o seu caso), há uma opção no config\app.php que permite colocar um timestamp após os assets e, dessa forma, forçar o recarregamento.



:wq!

Fabio Beneditto - a.k.a. KamiKazeNH
"A vida é mais bela quando vista de cima de uma motocicleta"
"A hacker does for love what anyone will do for money"

Luiz Ricardo

unread,
Mar 11, 2015, 1:05:33 PM3/11/15
to cakep...@googlegroups.com

E quando nem o CTRL + F5 resolve? Já não sei mais o que fazer. Qualquer alteração que eu faça eu preciso resetar a máquina virtual e limpar o cache e isto muito custoso...

Fabio 神風 Jr.

unread,
Mar 11, 2015, 1:09:03 PM3/11/15
to cakep...@googlegroups.com
Respondendo minha própria resposta...

Você está usando o helper para carregar os arquivos, como :

<?= $this->Html->css('/components/bootstrap/dist/css/bootstrap.css') ?>

...ou como...

<script src="/components/jquery/dist/jquery.min.js"></script>

?

Se da segunda opção, ele não põe timestamp.

E, IE + versões antigas do Firefox tinham esse problema de cache. Não tive problemas com versões pós 30.

Espero ter ajudado.

PS.: Não tenho WIndows para testar se isso ocorre com IE, só Linux AMD_64 aqui...



:wq!

Fabio Beneditto - a.k.a. KamiKazeNH
"A vida é mais bela quando vista de cima de uma motocicleta"
"A hacker does for love what anyone will do for money"

Luiz Ricardo

unread,
Mar 11, 2015, 1:17:41 PM3/11/15
to cakep...@googlegroups.com

Eu uso o helper como na primeira opção, inspeciono o html os arquivos são gerados com timestamp. Eu utilizo o firefox versão mais recente, mas testei no chrome e acontece a mesma coisa.

Valeu pela ajuda cara, já tentei de tudo mesmo, não sei mais o que fazer...

Luiz Ricardo

unread,
Mar 11, 2015, 5:53:56 PM3/11/15
to cakep...@googlegroups.com
CONSEGUIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!

obrigado a todos pela ajuda, o problema estava na configuração do nginx e com vagrant + virtualbox. Percebi que o problema não era mais no cake porque todas as configurações para não usar o cache lá já estavam ativadas.

Resolvi com a seguinte modificação no arquivo da configuração do nginx que geralmente se encontra em /etc/nginx/nginx.conf:

Modifiquei "sendfile on" para "sendfile off".

BOA NOITE!
Reply all
Reply to author
Forward
0 new messages