Autor Tópico: Botão Gerar PDF em ambiente de produção Linux  (Lida 559 vezes)

lggick

  • Novato
  • *
  • Mensagens: 5
Botão Gerar PDF em ambiente de produção Linux
« Online: Março 21, 2016, 10:07:35 pm »
Boa noite pessoal.

Desenvolvo no scriptcase em Windows e publico em uma máquina virtual Centos.

Estou gerando boletos conforme o exemplo da Netmake, modificado para o Bradesco.

No ambiente de produção o boleto não é convertido em PDF pelo botão PDF (Gerar PDF) da barra de ferramentas.

O PHP é 5.4, logo SEM safe_mode.

No diretório tmp, encontrei os arquivos .html, a imagem .png do logo do banco e a imagem do código de barras.  Além disso encontrei o arquivo de log com o comando.  Fiz a execução do comando na mão pelo command line do Linux.  Resultado: Exit with code 2 due to http error: 404 Page not found.

Identifiquei as seguintes linhas no html:
 <link rel="stylesheet" href="../_lib/css/Sc8_PictonBlue/Sc8_PictonBlue_error.css" type="text/css" media="screen" />
 <link rel="stylesheet" href="../_lib/css/Sc8_PictonBlue/Sc8_PictonBlue_errorLTR.css" type="text/css" media="screen" />
 <link rel="stylesheet" href="../_lib/css/Sc8_PictonBlue/Sc8_PictonBlue_btngrp.css" type="text/css" media="screen" />
 <link rel="stylesheet" href="../_lib/css/Sc8_PictonBlue/Sc8_PictonBlue_btngrpLTR.css" type="text/css" media="screen" />
 <img src='../_lib/img/grp__NM__img__NM__banco_bradesco.png'> 

Ao retirar o _lib/ do caminho nas linhas acima e executo novamente o wkhtmltopdf-amd64.  A conversão ocorre sem erro.

Acredito que haja um problema de endereço relativo no momento que a página é gerada no temporário (_lib/tmp) que está dentro da _lib e não no mesmo nível da _lib.  Como workaround criei os diretórios duplicados _lib dentro do _lib (que coisa FEIA!).  Aí consigo gerar pela linha de comando.

Mesmo assim não gera o PDF pelo botão gerar PDF.

O comando que aparece no log é com ./wkhtmltopdf-amd64, será que existe algum PATH a configurar em algum lugar para indicar o caminho onde encontrar o executável ou está hard coded no scriptcase?

Alguém pode já viu este problema?

Conto com a ajuda de vocês.

------------------------------------------------
Novas observações:
identifiquei o problema principal: SELinux do Centos
coloquei permissões para execução de scripts no diretório do wkhtmltopdf-amd64 e habilitei a execução em memória do httpd.
Passou a funcionar o boleto sem o workaround de criar o diretório para as linhas do css.  Continuo com o problema somente para o logo do banco.
Desta forma, o PDF é gerado sempre.  Porém sem o workaround acima, o PDF vém sem logo.  Este comportamento, eu já havia observado no ambiente de desenvolvimento em Windows também.

Ficou menos complicado agora, mas agradeço se alguém tiver uma idéia do que ocorre.
« Última modificação: Março 22, 2016, 12:04:07 am por lggick »