PHP não está carregando a extensão sqlsrv

2

Estou tendo problemas para usar o PHP para usar a extensão sqlsrv da Microsoft no Windows Server 2012 R2 de 64 bits executando o IIS e o PHP 7.1.7. Quando executo phpinfo() , não vejo que a extensão tenha sido carregada. Eu estou supondo que eu deveria estar procurando sqlsrv como o nome da extensão. Também não há erro no log de erros do PHP de qualquer tipo de falha ao carregar a extensão.

Eu baixei a versão 4.3 dos drivers da Microsoft, que afirmam que eles são compatíveis com o PHP 7.1. Eu copiei os arquivos DLL no diretório PHP\v7.1\ext . Eu adicionei as seguintes linhas ao arquivo php.ini.

extension=php_sqlsrv_7_nts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll

Eu verifiquei que meu arquivo php.ini está sendo lido intencionalmente com um nome errado e vendo um erro correspondente no log do php.

O SQL Server Native Client 10 e 11 está instalado.

Eu reciclo o pool de aplicativos, reiniciei o serviço W3SVC e reiniciei o servidor.

Espero que alguém aqui possa oferecer outras coisas para experimentar.

    
por chump 29.11.2017 / 16:18

1 resposta

0

O primeiro problema, que ainda não resolvi, é que o meu log de erros do php não está mostrando problemas de carregamento da extensão, a menos que eu mude o nome do arquivo de log. Depois de alterar o nome do arquivo de log, recebi o seguinte erro:

Aviso do PHP: Inicialização do PHP: Não foi possível carregar a biblioteca dinâmica 'C: \ Arquivos de Programas \ PHP \ v7.1 \ ext \ php_pdo_sqlsrv_7_nts_x64.dll' - O procedimento especificado não foi encontrado.

Como se constatou, eu precisava usar o driver específico para o PHP 7.1. Não sei por que, pelo meu download original, não incluí os drivers 7.1. Talvez eu tenha baixado por engano o driver sqlsrv 4.0 na minha primeira vez. Eu fui e baixei o driver sqlsrv 4.3 aqui:

link

Adicionei o seguinte ao meu php.ini

extension = php_sqlsrv_71_nts_x64.dll
extensão = php_pdo_sqlsrv_71_nts_x64.dl

O sqlsrv extenion é carregado agora. Espero que isso ajude alguém.

    
por 29.11.2017 / 17:54