Cobrebem - Erro ao instanciar o componente na Versão 9

Ola Pessoal

Boa Noite

Estou migrando um projeto da v8.1 para a versão 9. Uso Windows 10 e fiz a instalação normal da v9 x64.
Tenho uma aplicação que precisa instanciar um objeto COM (cobrebemx ) para gerar os boletos.
Na versão 8 ele esta rodando normalmente localmente e em produção.
Na versão 9 da erro em desenvolvimento (php7) e em produção (php7); porem se publico ele na php5.6 ele roda normal, mesmo tendo sido gerado na versão 9.

O problema é que enquanto estiver assim não posso usar o PHP7, e nem desenvolver os boletos na v9.
Eu instancio ele assim : $cbx = new COM(“CobreBemX.ContaCorrente”);
[font=verdana]E o erro :[/font][font=times new roman][size=medium]Fatal error: Uncaught com_exception: Failed to create COM object `CobreBemX.ContaCorrente’: Classe não registrada.[/size][/font]

[font=times new roman]][size=medium]Porem quando crio um diretorio na v9 que é php 7 e coloco um arquivo instanciando o componente não dá o erro; então por eliminação acredito que seja erro do scriptcase.[/size][/font]

[font=times new roman][size=1.35em]Será que alguem poderia me ajudar ? ou ja tenha passado por isso.?[/size][/font]

Algumas coisas mudaram do php 5.6 para o php 7.
Verifique se o cobrebemx tem homologação para o php 7.
Também verifique se sua sintaxe esta de acordo com as mudanças no php 7.
https://secure.php.net/manual/pt_BR/migration70.php
PS: Também é bom verificar se a dll do cobrebemx esta compilado na mesma versão do compilador do php 7.0 para Windows e se foi gerada para 32 bits ou 64bits.
Até onde sei o cobrebemx roda de forma homologada em php 32 bits.
64 bits é somente pau.
Se tem alguém com mais experiência por favor deixe seu comentário.

Ola Alexandre

Boa Noite;

Então; acredito que o erro esta no scriptcase; porque fiz um arquivo index instanciando o objeto em php normal e rodou normalmente no php 7.

Mesmo o que faço no scriptcase 9, gero o codigo e publico direto no php 5.6 , funciona normal.

O problema esta sendo que o novo scriptcase só desenvolve na versão php 7 e não consigo saber o que estou fazendo antes de publicar na versão php 5.6

Será que por enquanto vou ser obrigado a continuar com o scriptcase 8; pois vi que bastante gente esta fazendo assim.

Agradeço pela interação;

O que o log de erro diz?

No log esta assim :

[Thu May 18 22:29:59.289322 2017] [mpm_winnt:notice] [pid 12644:tid 504] AH00354: Child: Starting 64 worker threads.
[Thu May 18 23:15:10.864982 2017] [mpm_winnt:notice] [pid 5516:tid 536] AH00422: Parent: Received shutdown signal – Shutting down the server.
[Thu May 18 23:15:12.899473 2017] [mpm_winnt:notice] [pid 12644:tid 504] AH00364: Child: All worker threads have exited.
[Thu May 18 23:15:21.388691 2017] [fcgid:error] [pid 12644:tid 488] FastCGI process 8328 still did not exit, terminating forcefully
[Thu May 18 23:15:21.388691 2017] [fcgid:error] [pid 12644:tid 488] FastCGI process 10880 still did not exit, terminating forcefully
[Thu May 18 23:15:21.388691 2017] [fcgid:error] [pid 12644:tid 488] FastCGI process 7456 still did not exit, terminating forcefully
[Thu May 18 23:15:22.404363 2017] [mpm_winnt:notice] [pid 5516:tid 536] AH00430: Parent: Child process 12644 exited successfully.
[Thu May 18 23:15:30.256132 2017] [mpm_winnt:notice] [pid 11776:tid 568] AH00455: Apache/2.4.25 (Win64) mod_fcgid/2.3.9 configured – resuming normal operations
[Thu May 18 23:15:30.256132 2017] [mpm_winnt:notice] [pid 11776:tid 568] AH00456: Apache Lounge VC14 Server built: Dec 17 2016 11:15:57
[Thu May 18 23:15:30.256132 2017] [core:notice] [pid 11776:tid 568] AH00094: Command line: ‘C:\NetMake\v9\COMPON~1\apache\bin\httpd.exe -d C:/NetMake/v9/components/apache’
[Thu May 18 23:15:30.256132 2017] [mpm_winnt:notice] [pid 11776:tid 568] AH00418: Parent: Created child process 12976
[Thu May 18 23:15:30.657906 2017] [mpm_winnt:notice] [pid 12976:tid 496] AH00354: Child: Starting 64 worker threads.

E no navegador aparece assim :
[font=Times New Roman][size=medium]Fatal error: Uncaught com_exception: Failed to create COM object `CobreBemX.ContaCorrente’: Classe n�o registrada in C:\NetMake\v9\wwwroot\scriptcase\app\project\blank\index.php:1448 Stack trace: #0 C:\NetMake\v9\wwwroot\scriptcase\app\project\blank\index.php(1448): com->com(‘CobreBemX.Conta…’) #1 C:\NetMake\v9\wwwroot\scriptcase\app\project\blank\index.php(1761): blank_apl->controle() #2 {main} thrown in C:\NetMake\v9\wwwroot\scriptcase\app\project\blank\index.php on line 1448[/size][/font]
[font=Times New Roman][/size][/font]
[font=Times New Roman][/size][size=medium]A unica coisa que coloquei foi uma blank com uma unica linha de codigo:[/size][/font]
[font=times new roman][/size][size=3]$cbx = new COM(“CobreBemX.ContaCorrente”); [/size][size=medium][/font]

vi que esta usando no instalador da V9: ‘C:\NetMake\v9\COMPON~1\apache\bin\httpd.exe -d C:/NetMake/v9/components/apache’
no diagnosis.php a dll do cobrebemx aparece registrada?
Esta versão do instalador da V9 é para 64 bits ou 32 bits?

Alexandre

Não aparece no diagnostico e estou usando a versao 64 bits.

Será que é isso ?

No site eles dizem : [font=arial][size=12px]Exclusivamente Versão Windows 32 bits.[/size][/font]

Como disse o cobrebemx somente foi homologado para versão 32 bits do php.
Tem que usar o instalador 32 bits da V9.
PS: Pelo menos foi o que o suporte da cobrebemx passou para um cliente meu.
É melhor verificar junto ao suporte se ainda persiste esta situação:
De necessitar o php 32 bits

Grande Alexandre

Gastei mais de 6 horas tentando encontrar uma maneira de fazer isso.
Era isso mesmo, tem que usar a versão de 32 bits.
Este é um componente que uso a uns 10 anos, mas acho que ta na hora de mudar.

Salvou o meu dia;

Agradeço pela ajuda.

Moacir muito bom ter dado certo.
A mudança é algo a se pensar.
Faz um bom tempo que o pessoal pede uma versão para 64 bits e nada deles lançarem.
Está parada no tempo.

Estou com um problema parecido para implementar o Gerencianet

o Erro:
Fatal error: Uncaught Error: Class ‘Gerencianet’ not found in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\ProjetoADM\blank_Fatura\index.php:1560 Stack trace: #0 C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\ProjetoADM\blank_Fatura\index.php(1919): blank_Fatura_apl->controle() #1 {main} thrown in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\ProjetoADM\blank_Fatura\index.php on line 1560

No código de integração (disponivel em: https://dev.gerencianet.com.br/docs/gerar-boleto), preciso usar as linhas abaixo no inicio do código:

<?php require __DIR__.'/../../vendor/autoload.php'; // caminho relacionado a SDK use Gerencianet\Exception\GerencianetException; use Gerencianet\Gerencianet; Poderia ser alguma incompatibilidade ou algo que preciso fazer no scriptcase? (estamos usando a versão 9) alguma dica de como resolver?

Tem 3 posts sobre este mesmo assunto e presumo que sejam da mesma pessoa. Em um deles as respostas já estão sendo dadas. Portanto, evite cross-posting e continue apenas no tópico onde já está havendo respostas.

desculpe Keyber, os tópicos anteriores foi aberto por outra pessoa.

Acabei “trazendo novamente” esse tópico a tona (ele é de maio/2017) para saber qual a solução que foi adotada para essa situação em especifico (Cobrebem), pois acredito que seja o mesmo problema que estou enfrentando.

Caso tenha conhecimento de algum outro tópico, cite por favor na mensagem (desse, ou o outro tópico aberto) que será de grande ajuda!

Desculpe mais uma vez!

A solução adotada está logo acima!
Verifique se a biblioteca é 32 bits.
Se for tem que rodar com apache 32bits

Gerencianet com php é integração via REst não tem componente nem dll.

Agora que vi.
Deveria ter aberto um post novo e não colocar num post do cobrebemx.
Mas tudo bem.

Amigão estou pensando em utilizar o cobrebem na minha hospedagem scriptcase.host… você usa nesta hospedagem? Funciona? Ou sabe se funciona? Tem alguma dica ou orientação quanto a integração?

E aproveitando, você tem alguma dica para emissor de nota fiscal eletrônica? Pois também quero usar integração.

Desde já agradeço.

[font=Verdana][size=2]Ola Joelton[/size][/font]

[size=2]O cobrebemx só funciona no windows e pelo que sei do scriptcase.host eles só comercializam linux. [/size]
[size=2]Usei o componente cobrebemx por muitos anos em aplicações com Visual Basic/C# e testei com php; porem optei por não usa-lo mais.[/size]
[size=2]Na epoca consegui faze-lo funcionar com php 5.6 (com o php7 não funcionou) e com o scriptcase9 32 bits(64 bits não funcionou) mas não coloquei em produção.[/size]

[size=2]Minha opinião é que ele esta ultrapassado e não estão mais atualizando-o. Precisei atualiza-lo para as novas regras de boleto que entraram em vigor este ano e o suporte esta péssimo.[/size]
[size=2]Precisava comprar mais licenças e alem do preço ter sido aumentado alem de qualquer inflação desde da minha uiltima aquisicao, pesquisei na internet e no site do reclameaqui esta cheio de reclamações de falta de atendimento e bugs não resolvidos.[/size]

[size=2]Mas; no site tem exemplos de como usa-lo com php com licenças de teste e não é dificil implementa-lo. O servidor tem que ter ele instalado no windows como componente COM e testei ele no hospedagemsegura.com.br numa revenda windows de um cliente, onde solicitei via suporte e eles instalaram o componente e eu só precisei instancia-lo na aplicação.[/size]

[size=2]Caso decida testar ou usa-lo posso tentar te ajudar e encontrar alguma coisa que usei na epóca.[/size]

[size=2]Quanto a Nota Fiscal eletronica eu não uso, mas já pesquisei no google e achei bastante coisa pronta que acho que pode ajuda-lo e vi esse site que achei viavel : https://focusnfe.com.br/#cadastro[/size]

[size=2] [/size]
[size=2]Um Abraço; [/size]

Obrigado pelas dicas e retorno…

Quanto a boleto o que sugere para integração no meu panorama?

Gerencianet ta matando a pau com a api dele.