JD
[AJUDA] Driver PDO sqlsrv não funciona com PHP7
Fechado
Desenvolvi um sistema de apoio o Microsiga Protheus da TOTVS, a base de produção está rodando em um servidor com php 5.6.
Seguindo as recomendações resolvi migrar para o php 7 mas agora o sistema não esta se comunicando com o banco de dados do Protheus que é o SQL Server.
O sistema apresenta o erro:
could not find driver
File: \\lib\\adianti\\database\\TConnection.php : 98
PDO->__construct(sqlsrv:Server=192.168.0.1;Database=DADOSADV,SA,*******)
Dei uma pesquisada e pelo que ví ainda não existe um driver PDO do sql server para o PHP7, até tentei usa a versão 5.6 do driver disponível no site da Microsoft mas não tive sucesso.
Alguém já passou por isso? se sim como conseguiu resolver?
Todos os testes que realizei com o PHP 7 foram positivos principalmente o desempenho ele chega a ser 200% mais rápido, o único problema esta sendo essa incompatibilidade do PDO com o SQL Server.
Por hora estou mantendo o ambiente de produção com o PHP 5.6.
Desde já agradeço.
Seguindo as recomendações resolvi migrar para o php 7 mas agora o sistema não esta se comunicando com o banco de dados do Protheus que é o SQL Server.
O sistema apresenta o erro:
could not find driver
File: \\lib\\adianti\\database\\TConnection.php : 98
PDO->__construct(sqlsrv:Server=192.168.0.1;Database=DADOSADV,SA,*******)
Dei uma pesquisada e pelo que ví ainda não existe um driver PDO do sql server para o PHP7, até tentei usa a versão 5.6 do driver disponível no site da Microsoft mas não tive sucesso.
Alguém já passou por isso? se sim como conseguiu resolver?
Todos os testes que realizei com o PHP 7 foram positivos principalmente o desempenho ele chega a ser 200% mais rápido, o único problema esta sendo essa incompatibilidade do PDO com o SQL Server.
Por hora estou mantendo o ambiente de produção com o PHP 5.6.
Desde já agradeço.
Parece que falta habilitar a extensão no php.ini
A extensão está habilitada, o problema é que o php 7 não a reconhece, o driver sqlsrv so funciona até a versão 5.6 do PHP.
Uma alternativa seria usar ODBC mas nunca trabalhei com ODBC e ja ouvi falar que as transações com ODBC são mais lentas, ai não sei o que fazer.
Obrigado pelo retorno.
Puxa que besteira tem cara da m$crosoft mesmo.
Consegui resolver, apanhei um pouco pra criar uma fonte de dados ODBC no Linux mas funcionou kkk
Precisei adcionar um novo driver na classe TConnection.
A dirver ficou assim: