Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

anderluz

Erro header com DOMPDF

Recommended Posts

Olá galera tudo bem? Seguinte estou com um problema, desenvolvi meu sistema e utilizei a classe DOMPDF, no localhost ele estava funcionando normalmente mas quando coloquei hospedei ele está dando erro, não está gerando os pdfs. O seguinte erro era apresentado:

Unable to stream pdf: headers already sent entrei no forum e encontrei a seguinte resposta Replace line 3105 of this file: dompdf/lib/class.pdf.php

if ( headers_sent()) {
die("Unable to stream pdf: headers already sent");
}

With

$output = ob_get_clean();
if ( headers_sent()) {
echo $output; }

 

porem quando fiz isto minha aplicação respondeu da seguinte forma:

 

Warning: Cannot modify header information - headers already sent by (output started at www/sistema/conexao.inc:1) in www/sistema/libraries/dompdf/lib/class.pdf.php on line 3117

Warning: Cannot modify header information - headers already sent by (output started at www/sistema/conexao.inc:1) in www/sistema/libraries/dompdf/lib/class.pdf.php on line 3118

Warning: Cannot modify header information - headers already sent by (output started at www/sistema/conexao.inc:1) in www/sistema/libraries/dompdf/lib/class.pdf.php on line 3121

Warning: Cannot modify header information - headers already sent by (output started at www/sistema/conexao.inc:1) in www/sistema/libraries/dompdf/lib/class.pdf.php on line 3135

 

outros erros de Cannot modify .... já eram mostrados na minha aplicação, com alguma modificação no codigo consegui resolver, mas na classe a mesma solução que apliquei em outros arquivos não dá certo. Já conferi a questão de espaços e está tudo ok. Alguém sabe o que pode estar causando essa bugagem toda? Obrigado e grande abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, sendo direto:

 

O php está tentando enviar um cabeçalho HTTP para o navegador do cliente, sendo que esses cabeçalhos já foram enviados para o cliente.

 

Isso pode:

header('algo qui');
echo 'outro coisa aqui';

Mas isso não pode:

echo 'outro coisa aqui';
header('algo qui');

Assim que algo é enviado para o navegador, seja HTML, echo, print, mensagem de erro, etc. Não é possível usar o header.

 

No seu caso, você tem de mandar as linha 3117, 3118, 3121, 3135 para vermos o que tem de errado nela. Lembre de dizer qual é a linha que está com erro no meio do trecho de código postado por você

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta entendi, o que não entendo é por que uma classe como a DOMPDF dá esses erros... Segue as linhas e seus respectivos erros arquivo class.pdf.php do dompdf dentro da pasta lib:

 

linha 3117 header("Cache-Control: private");

3118 header("Content-type: application/pdf");

3121 header("Content-Length: " . mb_strlen($tmp, '8bit'));

3135 header("Content-Disposition: $attachment; filename=". $encodedfallbackfilename ."; filename*=UTF-8''$encodedfilename");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, nada disso, chamo a classes, faço a conexao ao banco, gero a consulta, crio a variavel q carrega o html e então imprimo o arquivo. No meu localhost funciona normal, no servidor que ele da erro em tudo que é header.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não necessariamente por seu localhost não está exibindo erro, quer dizer que ta tudo bem. Ative as mensagens de erro no localhost para ver se ta aparecendo a mesma coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não acusou nenhum erro :/

Apenas uma notificação do Id que estou repassando via URL e pegando atravez de um $_GET[id];

acredito que isto não esteja causando estes erros...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.