anderluz 2 Denunciar post Postado Novembro 24, 2014 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 3118Warning: 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 3121Warning: 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
ExtremsX 58 Denunciar post Postado Novembro 24, 2014 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
anderluz 2 Denunciar post Postado Novembro 24, 2014 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
ExtremsX 58 Denunciar post Postado Novembro 24, 2014 No seu código (não da classe), você está dando algum ECHO, PRINT, ou está aparecendo algum erro antes de usar a classe ? Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 25, 2014 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
ExtremsX 58 Denunciar post Postado Novembro 25, 2014 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
anderluz 2 Denunciar post Postado Novembro 25, 2014 Display_errors = on esta funcionando normal, há mais alguma outra linha para mostrar erros usando o xampp que tenho que alterar? Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 25, 2014 Coloque no seu script error_reporting(E_ALL); Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 25, 2014 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