Eu mesmo tive esse problema. Finalmente consegui consertar, então resolvi compartilhar.
O problema era que, embora eu tivesse a dll sqlsrv instalada (copiada para minha pasta php/ext), e Eu adicionei no meu php.ini, no IIS, estava 'desabilitado' .
Aqui estão algumas instruções passo a passo, caso alguém tenha esse mesmo problema novamente. (Ou para referência futura para mim :))
-
Baixe (e instale) os drivers do SQL Server (.dll)
- Instale-os executando o .exe e digitando o caminho para a pasta de extensões do php quando ele perguntar onde descompactá-los.
- Para encontrar seu diretório de extensão atual, execute (cmd.exe)
php -i | more
, e procure a linhaextension_dir
. (Para mim, foi na quarta prensagem demore
). Alternativamente, crie um arquivo php simples contendo apenas<?php phpinfo(); ?>
e execute-o no navegador. Isso fornecerá as mesmas informações, mas em um formato muito mais fácil de ler.
- Para encontrar seu diretório de extensão atual, execute (cmd.exe)
- Instale-os executando o .exe e digitando o caminho para a pasta de extensões do php quando ele perguntar onde descompactá-los.
-
Adicione a extensão ao seu php.ini
- Para encontrar o php.ini correto, execute
php -i | more
novamente, procurando porLoaded Configuration File
, ou verifique esse script php simples novamente (eu recomendo que você o faça - isso economizará tempo e esforço). O caminho encontrado é o arquivo que você precisa editar. -
Adicione as seguintes linhas ao seu php.ini e salve-o:
[PHP_SQLSRV] extention=php_sqlsrv_56_nts.dll
- Para encontrar o php.ini correto, execute
-
Habilite a extensão no Gerenciador do IIS
- No menu Iniciar, digite
IIS Manager
e pressione enter. - Clique no nome do seu servidor na barra lateral esquerda
- Clique em
PHP Manager
- Em
PHP Extensions
, clique emEnable or Disable an Extension
. - Se sua extensão não estiver em
Enabled
, procure emDisabled
por isso. Quando você encontrá-lo, clique com o botão direito nele e clique emEnable
no menu de contexto que aparece.
- No menu Iniciar, digite
-
Teste para ter certeza de que funcionou
- Abra esse
phpinfo()
página que você criou (você fez, não foi?), e procure emRegistered PHP Streams
. Se você virsqlsrv
nessa lista, você está pronto!
- Abra esse