SC9 última release.
Tem que dar permissão 755 ou 777 na pasta stretch e nos arquivos que estão dentro dela.
Se não funcionar somente o suporte mesmo.
quanto as permissões coloquei mais não resolveu
vou testar atualizar da 9.3.8 para 9.3.10
Eu resolvi voltando a versão para 9.2.000, nenhuma das versões após essa foi corrigida para o ambiente windows, somente para o ambiente Linux.
Uma questão tão séria destas e não temos uma solução, pelo menos paliativa, oficial da Netmake
Impressão/exportação em PDF é um padrão hoje na WEB
Nada de resposta oficial
Também estou precisando muito dessa solução.
Começando agora com scriptcase e já passando por dificuldades com os clientes.
Contactou suporte@scriptcase.com.br?
Bom dia amigo,
Compartilhado.
Bom dia Haroldo,
Como o assunto foi muito discutido no fórum, imaginei que tivesse tido uma solução que me escapou, mas vou fazer isso.
Obrigado por responder e pela dica.
Esse problema envolve várias questões.
Primeiro é uma biblioteca de terceiros.
Segundo, seu funcionamento é altamente dependente de permissões e de ambiente.
Então são muitas variáveis que levam ao não funcionamento do recurso.
Deve explorar as permissões das pastas, subpastas e do arquivos nessas pastas.
Deve avaliar o SO do ambiente de produção. Conforme a Distro do Linux o executável muda.
Deve avaliar o log do php e log que a própria ferramenta cria para geração do PDF.
Permissões na pasta temporária do ambiente de produção.
Versão do PHP.
Tudo isso pode influenciar no sucesso ou não da geração exportada em arquivo PDF.
Que coisa, hein!? Daí complica demais…kkkk
Tô passando pro meu cliente o endereço de desenvolvimento, que tá hospedado no host do scriptcase. Lá funciona tudo perfeito.
Já fiz contato com meu provedor (kinghost), ficamos mais de duas horas tentando ajustar. Habilitou a função exec, alteramos direito a essas pastas e arquivos e nada.
Obrigado pela atenção Haroldo. Precisando de mim, só chamar.
Como é compartilhado é necessário ver se seu provedor tem habilitado a função EXEC.
Sem ela o pdf não irá funcionar.
Bom dia Alexandre,
Sim, isso foi verificado e já está habilitado. Ontem eu fiquei no suporte mais de duas horas fazendo tentativas. Inclusive antes eu estava hospedado no servidor windows e fizemos a migração para linux porque o kinghost não tinha a lib wkhtmltopdf para windows.
Já habilitamos exec, alteramos direitos as pastas da lib e da tmp. Simplesmente dá aquele erro. Se olho na pasta tmp, está lá o html, css e log. Mas o pdf nada.
Se tiver mais alguma dica, agradeço muito.
Obrigado pela atenção.
Quando você pega o caminho do log e roda manual o que o whtmltopdf mostra na tela?
Isso eu não fiz, mas é uma ideia… Vou passar isso no suporte, assim eles rodam lá pra avaliar.
Alexandre,
Este é o log que é gerado no servidor quando tento exportar o PDF:
Pedro Barcellos (11:15:39) : Jorge, vou passar os logs de erro que o servidor está gerando das suas aplicações:
[09-May-2019 11:32:34 America/Sao_Paulo] PHP Warning: readfile(/home/gestorsoft/www/gestorvtreivt/_lib/tmp/sc_pdf_20190509113124_278_grid_tab_vtr_cartoes.pdf): failed to open stream: No such file or directory in /home/gestorsoft/www/gestorvtreivt/grid_tab_vtr_cartoes/grid_tab_vtr_cartoes_download.php on line 52
[09-May-2019 13:15:18 America/Sao_Paulo] PHP Warning: readfile(/home/gestorsoft/www/gestorvtreivt/_lib/tmp/sc_pdf_20190509131514_169_grid_tab_vtr_cartoes.pdf): failed to open stream: No such file or directory in /home/gestorsoft/www/gestorvtreivt/grid_tab_vtr_cartoes/grid_tab_vtr_cartoes_download.php on line 52
[09-May-2019 16:49:21 UTC] PHP Parse error: syntax error, unexpected end of file in /home/gestorsoft/www/wp-includes/post.php on line 5704
[09-May-2019 20:26:26 UTC] PHP Parse error: syntax error, unexpected end of file in /home/gestorsoft/www/wp-includes/post.php on line 5704
[09-May-2019 21:24:53 UTC] PHP Parse error: syntax error, unexpected end of file in /home/gestorsoft/www/wp-includes/post.php on line 5704
[10-May-2019 04:58:56 UTC] PHP Parse error: syntax error, unexpected end of file in /home/gestorsoft/www/wp-includes/post.php on line 5704
[10-May-2019 08:46:58 UTC] PHP Parse error: syntax error, unexpected end of file in /home/gestorsoft/www/wp-includes/post.php on line 5704
~
~
Só uma consideração sobre a questão do módulo wkhtmltopdf, ele não estava ativo, eu efetuei a instalação dele, e testei o módulo, pelo SSH, usando o comando:
[gestorsoft@web7671 ~]$ ./wkhtmltox/bin/wkhtmltopdf http://www.gestorsoft.com.br/gestorvtreivt/_lib/tmp/sc_mestre_extratosaldo_html_af444983fc9499c3255704381cdd864b.html teste.pdf
Com isso, o módulo gerou certinho o PDF, que está na raiz do seu FTP.
Então eu acredito que você só precisaria agora tentar ver na sua aplicação como você gerencia este módulo via programação, dando uma olhada na documentação do módulo, para o uso dele no PHP.
Será que ajuda??? kkkk
Pessoal, atualizando os acontecimentos.
Meu problema na verdade é que minha hospedagem utiliza o módulo WKHTMLTOPDF e o scriptcase9.3 gera o código fazendo chamada no módulo WKHTMLTOPDF-AMD64, por isso não tá gerando o PDF.
A questão é: Minha hospedagem terá que habilitar a versão exata? Ou esse nome pode ser parametrizado no scriptcase??
O Scriptcase pega o executável do wkhtmltopdf que vem no prod mesmo que haja outro instalado na máquina.
Veja que no prod já tem os executáveis de acordo com o ambiente operacional.
O Scriptcase detecta o ambiente operacional e escolhe o executável correto.
Funciona assim:
- O scritpcase gera um html no _lib/tmp.
- Depois faz uma chamada para executar o wkhtmltopdf no shell ou ms-dos direto de uma daquelas pastas de acordo com seu ambiente operacional.
- o wkhtmtopdf lê o html temporário e gera o pdf à partir dele.
Como o wkthmltopdf é um executável precisa da permissão no apache ou nginx para EXEC.
Ou seja deixar o php rodar a rotina exec.
Então Alexandre, percebi mesmo conforme o comando gerado no log.
./wkhtmltopdf-amd64 --page-size A4 --orientation Portrait --footer-right “[page]” /wkhtmltox/bin/gestorvtreivt/_lib/tmp/sc_mestre_extratosaldo_html_2a2408937f085dc33e9017403501f3f0.html /home/gestorsoft/www/gestorvtreivt/_lib/tmp/sc_pdf_20190510162437_104_mestre_extratosaldo.pdf
Ele faz chamada no wkhtmltopdf-amd64 que está na pasta corrente, lê o html e deveria gerar o pdf na pasta _lib/tmp.
Agora, qual é a pasta corrente no momento? é a linux-amd64 ou a stretch??
Outra coisa, a minha hospedagem habilitou o wkhtmltopdf (esse nome), que está em outra pasta, fora da estrutura de pastas da minha aplicação. Acredito que isso também não tá legal.
Assim, acredito que o executável mesmo, que é chamado pela linha gerada pelo SC não está sendo encontrado.
Será que é por aí o problema?