bjverde / cnpjrfb

:elephant: Sistema para Consultar os dados públicos do CNPJ disponibilizados pela Receita Federal em PHP usando Adianti 7.1 e CNPJ-full
60 stars 21 forks source link

Erro could not find driver #3

Closed GabrielleSantos-s closed 3 years ago

GabrielleSantos-s commented 4 years ago

Olá amigo, tudo bem? Consegui concluir todos os passos do tutorial, aparentemente a carga do banco de dados foi concluída com sucesso. Mas em todas as pesquisas e consultas ao DB que tento fazer pela interface constam erro "could not find driver". O que posso fazer para retificar o erro? Executei novamente o código de carga dos dados, reiniciei o Apache e limpei os dados de navegação e nada. Uso Windows 10 + Chrome. Muito Obrigada!

bjverde commented 4 years ago

@GabrielleSantos-s

Que bom está caminhando !! Se entendi seu problema é falta do Drive PDO para o SqLite a instalação do drive varia conforme o seu ambiente: wamp, xamp, Docker etc. A forma mais comum é alterar o arquivo php.ini descomentando ou incluindo as linhas abaixo

extension=php_pdo_sqlite.dll
extension=php_sqlite.dll

Como verificar ?

  1. Crie um arquivo php com phpinfo()
  2. Execute o arquivo no navedaor
  3. Procurei pelas informação pdo_sqlite

Se estiver tudo certo deverá aparecer como na imagem abaixo !!

image

GabrielleSantos-s commented 4 years ago

Muito obrigada pelo rápido retorno e parabéns pelo trabalho e compartilhamento.

De fato meu problema está nas extensões do PHP, fiz o teste do phpinfo e esses drives estão desabilitados, descomentei as entensões no php.ini, mas na pasta ext não foram instaladas novas dlls automaticamente. Veio junto com a instalação a php_pdo_sqlite.dll, mas não consigo habilitar a php_pdo_sqlite.dll e o php.exe está apontando a falta da php_pdo.dll também.

Já reinstalei o PHP e atualizei o Windows, reiniciei o serviço Apache e ainda não consegui. Fiz a tentativa de baixar e inserir manualmente as dlls na pasta ext mas não encontrei a versão correta e atualizada, deu problema.

tem mais alguma sugestão?

Coloquei a php.ini em anexo (.txt) para facilitar. Estou usando Apache sem intermediadores (como Xampp).

Agradeço muitíssimo sua ajuda

php.txt

bjverde commented 4 years ago

No Windows confesso que uso vai wamp (um instalador parecido com o xampp), pois nunca usei o windows como ambiente de produção e o wamp resolve a maior parte dos meus problemas. Vem até com os drives do Sqlite habilitado

Ambiente de produção é sempre Linux (nativo, vm ou Docker)

Voltando ao problema !!

Confesso que fiquei intrigado no PHP 7.3.X para windows https://www.php.net/downloads.php não tem o php_pdo.dll , olhei no wamp e tambem não tem. Porém os dois (php puro e wamp) já vem com a DLL para sqlite php_pdo_sqlite.dll. Estou achando que o PDO já está no core do PHP, restando habilitar apenas o drive do banco.

Teoricametne apenas alterando o php.ini deveria funcionar, no php_info indica qual é o caminho correto do php.ini. Recoemndo verificar se está olhando no lugar certo.

image

Obs:

  1. Confirmando alem do vai precisar o Python !! É o Python que que gera o banco de dados em sqlite e gera a informação para o grafo. O PHP chama o comando Python na hora de gerar o grafo
  2. Junto com o código conte eu coloquei micro branco (57Kb) só para mostrar o sistema está funcionando.
  3. Vai precisar de 200 GB de disco livre para rodar todo o banco de dados
GabrielleSantos-s commented 4 years ago

Você já usou alguma vez essa aplicação no Windows? vou refazer o procedimento com o wamp para ver se da certo. Para usar os comandos do Python precisei instalar o miniconda, mas não deu nenhum erro nesta parte ou na carga do banco de dados (levou em torno de 4h).

Sim, o caminho que estou fazendo para localizar a php.ini está correto.

Muito obrigada novamente pela ajuda, sua aplicação vai me ajudar muito.

bjverde commented 4 years ago

Muito obrigada novamente pela ajuda, sua aplicação vai me ajudar muito.

Eu fiz a consulta em PHP para ajudar um Orgão do MPU e disponibilizei justamente pois sabia que poderia ser ultil para outras pessoas. Porém lembre de agradecer ao @fabioserpa, ele fez a maior parte do trabalho. O que fiz é totalmente dependente do trabalho dele.

https://github.com/fabioserpa/CNPJ-full

Você já usou alguma vez essa aplicação no Windows? vou refazer o procedimento com o wamp para ver se da certo.

Já usei no windows com Wamp apenas a consulta basica !! Nunca fiz a transformação dos arquivo da receito ou criação dos grafos, esse parte só fiz no Linux.

Lembrando é o Python que transforma os dados da receita para SqLite e cria o grafo.

Para usar os comandos do Python precisei instalar o miniconda, mas não deu nenhum erro nesta parte ou na carga do banco de dados (levou em torno de 4h).

Geralmente é esse tempo para gerar o banco. Pode ser mais rapido ou mais lento dependendo da potencia do computador.

bjverde commented 3 years ago

@GabrielleSantos-s acredito que seu problema foi resolvido !!