Problema com cache

To com um problema chato demais aqui, bom o meu sistema ta funcionando perfeitamente na minha host (godaddy), mas tive que migrar para o servidor do clientes (Hostgator), o sistema deu algumas falhas de header, mas eu resolvi, só que agora o problema (que eu acho, e preciso de uma ajuda sobre isso), é o cache, porque sempre que eu removo algum dado do banco de dados ele ate atualiza, mas no outro navegador ele fica o antigo ainda, esse erro na imagem abaixo é um erro já resolvido, só que ainda esta apresentando em outro navegador, estou usando headers para limpar o cache tanto no htaccess, e mesmo no php (em todos os arquivos), mas mesmo assim as fui excluir um dado do banco de dados, ele simplesmente continuou lendo o mesmo, alguém sabe uma solução razoável pra isso ?

Pesquise sobre cache de disco no apache (mod_disk_cache), talvez possa te ajudar

vc usa algum framework php? se sim eles também possuem mecanismo de cache, como o laravel por exemplo:

https://laravel.com/docs/5.7/cache

Vc não disse qual base está usando, mas estou imaginando ser mysql, base de dados também possui cache:

https://dev.mysql.com/doc/refman/8.0/en/query-cache.html

1 curtida

cara esse warning geralmente acontece quando o php tenta enviar um header http depois que vc começou a escrever o body.

afinal são partes distintas do protocolo http. agora vc precisa descobrir quem escreve esse header e porque tão tarde

3 curtidas

Consegui resolver os header’s, agora o problema e que eu to puxando os dados de uma tabela por jquery e php, e sempre a tabela mostra uma antiga (de dados já apagados), acho que isso deve ser cache mesmo, mas eu tu usando esse codigo aqui:

header("Pragma: no-cache");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, cachehack=".time());
header("Cache-Control: no-store, must-revalidate");
header("Cache-Control: post-check=-1, pre-check=-1", false);

$cac = "SET SESSION query_cache_type=0";

if ($conn->query($cac) === TRUE) {

} else {

}

e não ta adiantando, to vendo que é cache mesmo, pois sempre que limpo ele no navegador ele volta ao normal.

Veja cada request http usando uma ferramenta como o inspetor do Chrome.

preste atenção nos headers. talvez vc esteja mandando algo a mais ou a menos.

cache é um problema até vc dominar e entender como ele funciona ( e como os headers influenciam, If-Modify-Since, Etag, etc )