Por que ob_start('ob_gzhandler') quebra este site?
-
12-11-2019 - |
Pergunta
Eu tenho um site que gera um erro de codificação de conteúdo no navegador se ob_start('ob_gzhandler') estiver presente.Se eu remover a instrução, tudo funcionará bem.
- O site funciona com a mesma estrutura, servidor e pacote de hospedagem de vários outros sites.Todos eles funcionam, independentemente de a declaração estar lá.
- A instrução está na estrutura, não no código do aplicativo, por isso é compartilhada por todos os sites.
- Não há diferença na configuração entre os sites de trabalho e os sites que não funcionam.
- O site funciona bem localmente, usando exatamente o mesmo código e dados.
- Você pode buscar o site com curl/wget, e o HTML retornado será renderizado corretamente em um navegador.
- Os cabeçalhos de resposta são exatamente os mesmos, sem a instrução.
Agora removi todo o código do servidor remoto e reenviei tudo.Ainda não há mudança.O próximo passo seria reinstalar o site e começar do zero, mas não quero perder todos os dados.
Alguma indicação, sugestão ou solução?
Solução
normalmente eu faço abaixo e funciona para mim, experimente
Escrever ob_end_clean();
ou ob_flush();
na parte inferior da página onde você começa ob_start();
Referências:
Outras dicas
Basta colocar esta linha de código no início e tudo ficará bem.
while (ob_get_level() > 0) { ob_end_clean() ; }
Se você estiver usando a compactação GZIP do Apache já (que pela aparência você faz, já que CSS / JS é comprimido, tanto quanto eu posso ver), então usando ob_start ('ob_gzhandler') irá comprimir essa compressão ... e o navegador não será capaz de lidar com isso.
Estou falando sob correção, é claro que sempre usei o Apache para fazer isso por mim, mas parece que você é duplo gzipping coisas, é por isso que funciona sem a declaração "ob_gzhandler".
Verifique seus arquivos .htaccess nos outros sites e compare com o site que você está executando que tem o mesmo problema que não consigo ver que você está executando o Drupal em zacoders.net e jadeit.co.za,apenas em jadeit.co.za, o que me faz pensar que eles não são o mesmo quadro que você disse que eles são? encolher de ombros