Ir para conteúdo
  • Cadastre-se

dev botao

Usar o ACBRLibNFSe com multi-threading (MT) com PHP


Ver Solução Respondido por Daniel Simoes,

Recommended Posts

  • Membros Pro

Bom dia!

Há dias estou tentando usar o ACBRLibNFSe com multi-threading (MT) no PHP. No modo single esta funcionando corretamente, porém ao tentar usar o MT ocorre um "crash" e para tudo sem log mesmo estando no modo paranóico.

Fiz o teste com o Node.js conforme exemplo abaixo e funcionou corretamente com MT, então descarto problema na DLL, no entanto, estou postando aqui com o objetivo de obter apoio/auxilio de outras pessoas.

No PHP, uso o FFI::cdef. Olhando o doc e o .pas da DLL vi que preciso enviar o ponteiro handle para inicializar a dll e depois usar o mesmo ponteiro para demais métodos. No meu código consigo inicializar porém ocorre crash (erro sem log) ao tentar finalizar, creio que o handle está errado e o finalizar não encontra o ponteiro do inicializar.

Ambiente: PHP 8.2, apache, Windows 10 x64

Código de teste:

image.thumb.png.7404114ce3f94c1f8f10907d22c90ad8.png

header da dll

image.thumb.png.d0bbfb837126e49b06783f1591087e43.png

 

 

Referência

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Tudo indica que a Declaração do Ponteiro (Handle) está errada...

Precisa descobrir como Declarar um Handle de 64 bits em PHP

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.